linux资源管理(二)
进程管理命令
top
查看服务器的进程占用资源
动态显示系统资源
-
操作快捷键
z:打开,关闭颜色
M(大写):表示将结果按照内存(MEM)从高到低进行降序排列;
m(小写):切换内存memmory的显示格式。
P(大写):,表示将结果按照CPU 使用率从高到低进行降序排列;
1 :当服务器拥有多个cpu 的时候可以使用“1”快捷键来切换是否展示显示各个cpu 的详细信息;
q:退出
-
第二行的内容
Tasks: 209 total 系统中的进程总数
1 running 正在运行中的进程数
206 sleeping 睡眠的进程数
2 stopped 正在停止的进程数
0 zombie 僵尸进程数,如果不是0,则需要人工检查僵尸进程 -
第三行内容
%Cpu(s)0.0us 用户模式占用的cpu百分比
0.3 sy 系统模式占用的cpu百分比
0.0 ni 改变过优先级的用户进程占用的cpu百分比
99.7 id idle的缩写,空闲cpu占用的百分比
0.0 wa 等待输入/输出的进程占用的百分比
0.0 hi 硬中断请求服务占用的cpu百分比
0.0 si 软中断请求服务占用的cpu百分比
0.0 st st意为虚拟时间百分比,就是当有虚拟机时,虚拟cpu等待实际cpu的时间百分比 -
第四行内容
Mem total 物理内存的容量
free 空闲的物理内存数量
used 已经使用的物理内存数量
buff/cance 作为缓冲的内存数量 -
第五行内容
swap total 交换分区(虚拟内存)的总大小
free 空闲交换分区的大小
used 已经使用的交换分区的大小
avail Mem 可用内存 -
具体的使用信息
PID 进程的id
USED 该进程所属的用户
PR 优先级,数值越小优先级越高
NI 优先级,数值越小优先级越高
VIRT 该程序使用的虚拟内存大小,单位为KB
RES 该程序使用的物理内存大小,单位为KB
SHR 共享内存大小,单位为KB
S 进程状态,S代表睡眠,R表示运行
%CPU 该进程占用CPU的百分比
%MEM 该进程占用内存的百分比
TIME+ 该进程共占用的CPU时间
COMMAND 进程名 -
另外两个查看整体进程信息的命令
htop,界面比较好看,还有可使用的快捷键
glances,界面美化,和top一样
ps
查看当前用户终端的进程
-
linux标准参数用法
-e:显示所有进程
-f:显示进程详细
-P:指定pid,显示其信息
-C:指定进程名字查看
-U:指定用户名,查看用户进程信息 -
UNIX风格,没有短横线
a:显示所有终端,所有用户执行的过程
u:以用户显示出进程详细信息
x:显示操作系统所有的进程信息
f:显示进程树状结构
o:格式化显示进程信息,指定如pid
k:对进程属性排序,如k %mem 正序,k %mem 逆序
--sort:再进行排序,如 --sort %mem 根据内存使用率显示 -
结合管道符
ps-ef|grep nginx|grep -v ‘grep’
不显示每次都会出现的grep进程 -
还有两个进程查看命令
pstree 以树状图显示进程
-p 显示树状图进程信息,且显示pid
piddf 以进程名找出他的pid
lsof
列出当前系统打开的文件
*常用参数
-c:指定进程名,打开了哪些系统文件
-i:显示符合条件的进程
-p:显示指定pid打开的文件
-u:显示指定用户uid打开的文件
+d:显示文件夹被打开的文件有哪些
+D:递归列出目录哪些文件被进程打开
-n:不显示主机名,直接显示ip
-P:不显示端口名,直接显示端口号
-s:列出文件大小
*可借助lsof恢复被误删的日志文件
kill
进程杀死
*常用信号
-15 (SIGTERM) 默认信号,什么都不加,默认就是这个信号
-9 (SIGKILL)强制性终止,危险的信号,可能导致程序出现不可预期的错误,遇见杀不死的进程,只能通过这个信号来
-1 (SIGHUP)重载信号 以nginx网站为例,修改了配置文件,重载nginx,发送kill -1,以实现配置文件重读,配置生效
*根据进程名杀死,容易误杀
killall
pkill
不建议用
后台命令
- 命令集合
command & :未启动的command放入后台去运行,只是帮助进程,在当前ssh会话中在后台运行,如果会话断开,进程会丢失
jobs:查看后台进程列表
ctrl+z:暂停进程
bg:程序放入后台运行,和&一样
fg:将后台任务放入前台执行
nohup(用的最多):;和&结合,真正让程序在后台运行,即使ssh会话断开,进程也不会丢失,会被一号进程收养
结合数据流,数据重定向:
stdin:标准输入,0 一般是键盘输入数据
stdout:标准输入,1 程序执行结果,输出到终端
stderr:标准错误输出,2 程序执行结果,输出到终端
nohup ping baidu.com > /tmp/nohup_ping.log 2>&1 把错误结果(2)当做标准输出(1)写入文件,不显示在终端上
free
内存资源管理
- 常用选项
-m:表示以mb为单位查看
-h:以可读形式显示容量
free命令主要用来查看内存和swap分区的使用情况,其中 - total:是指总数
used:是指已经使用的
free:是指空闲的
shared:是指共享的
buffres:是指缓冲内存数
cached:是指缓存内存数
buffer和cache
- buffer 缓冲区,是给CPU往硬盘中写入数据时加速的
- cache 缓存区,是给CPU从硬盘中读取数据加速的
图解buffer
图解cache
stress
CPU压力测试
- 可以用top实时查看资源动态
也可用uptime,查看状态快照
df
查看磁盘使用情况
- 常用参数
-h:以可读形式显示大小
iotop
检测磁盘读写情况
*常用参数
-k:以千字节为单位显示磁盘输出
- 需要下载
yum install iotop -y
*还有一个iostat
netstat、ss
网络资源管理,查看linux机器的端口
- 常用参数
-a:显示所有网络连接
-t:显示tcp链接
-u:显示udp链接
-n:显示数字形式地址而不是去解析主机、端口或用户名
-l:只显示正在侦听的套接字
-p:显示套接字所属进程的PID和名称