top实时监控进程
uptime查看CPU负载工具
[root@tzPC ~]# uptime 09:21:16 up 4:40, 5 users, load average: 8.13, 5.90, 4.94
09:21:16:当前时间
up 4:40:系统运行时间,如图已运行了4小时40分钟
5 users:当前用户数
load average:系统负载,显示的是过去的1,5,15分钟内进程队列中的平均进程数量
如何衡量当前系统是否负载过高
如果每个cpu(可以按CPU核心的数量计算)上当前活动进程数不大于3,则系统性能良好,
不大于4,表示可以接受
如大于5,则系统性能问题严重
上面例中的8.13,如果有2个cpu核心,则8.13/2=4.065, 此系统性能可以接受
[root@tzPC ~]# w 09:25:35 up 4:44, 5 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 20Jun20 16:03m 0.03s 0.03s -bash root pts/0 192.168.149.1 20Jun20 21days 0.17s 0.17s -bash root pts/1 192.168.149.1 20Jun20 21days 0.03s 0.03s -bash root pts/2 192.168.149.1 Sat17 14:13m 0.03s 0.00s more root pts/3 192.168.149.1 09:21 7.00s 0.03s 0.02s w
top命令
[root@tzPC tz]# top top - 15:51:16 up 2 days, 6:06, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 98 total, 2 running, 96 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.0 id, 0.3 wa, 0.0 hi, 0.3 si, 0.0 st KiB Mem : 2027940 total, 1012072 free, 227048 used, 788820 buff/cache KiB Swap: 3145724 total, 3145724 free, 0 used. 1594920 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 317 root 20 0 0 0 0 R 0.3 0.0 0:21.80 xfsaild/sda3 853 root 20 0 305180 6388 5004 S 0.3 0.3 7:38.25 vmtoolsd 57566 root 20 0 0 0 0 S 0.3 0.0 0:20.79 kworker/0:0 1 root 20 0 128288 6944 4196 S 0.0 0.3 0:38.39 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd 4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 6 root 20 0 0 0 0 S 0.0 0.0 0:06.97 ksoftirqd/0 7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:09.94 rcu_sched 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain 11 root rt 0 0 0 0 S 0.0 0.0 0:03.06 watchdog/0 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 14 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 15 root 20 0 0 0 0 S 0.0 0.0 0:00.12 khungtaskd 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback 17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
第一行:
top - 15:51:16 up 2 days, 6:06, 2 users, load average: 0.00, 0.01, 0.05
当前时间、系统的运行时间、登陆的用户数、系统的平均负载
注意:平均负载有三个值分别是最近1分钟,最近5分钟,最近15分钟,值越大系统负载越高,跟服务器配置有关,
第二行:
Tasks: 98 total, 2 running, 96 sleeping, 0 stopped, 0 zombie
Tasks:95 total 当前总进程数
2 running :正在运行进程数
93 sleeping:休眠
1 stooped:停止
0 zombie:僵尸进程
第三行:
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.0 id, 0.3 wa, 0.0 hi, 0.3 si, 0.0 st
0.0 us:用户占用CPU的百分比
0.3 sy:内核占用CPU的百分比
0.0 ni:用户进程空间内改过优先级的进程占用CPU百分比
99.0 id:空闲值CPU百分比,CPU越空闲值越高
0.3 wa:CPU等待I/O完成时占用CPU百分比
如果wa占用很多CPU,则表示磁盘性能不足,建议升级磁盘
hi:硬中断
si:软中断
st偷:虚拟机偷取物理机的CPU的时间。比如linux下安装了KVM虚拟机,KVM虚拟机占用物理机的CPU时间
第四行:
KiB Mem : 2027940 total, 1012072 free, 227048 used, 788820 buff/cache
总内存
空闲内存
已使用内存
可被释放内存
第五行:
KiB Swap: 3145724 total, 3145724 free, 0 used. 1594920 avail Mem
总交换分区大小
空闲交换分区大小
已使用交换分区大小
可用交换分区大小
第六行:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PR:进程的优先级
NI:谦让度值用来参与决定优先级
VIRT:进程占用虚拟内存总量
RES:进程占用物理内存总量
SHR:进程和其他进程共享的内存总量
S:进程的状态
占用CPU%
占用内存%
占用CPU时间
启动的程序名
top快捷键
默认3s刷新一次,按s修改刷新时间
空格:立即刷新
q:退出
P:按CPU排序
p:后接进程ID,查看某个进程状态(如top -p 20,动态查看PID为20的进程)
M:按内存排序
T:按时间排序
数字键1:显示每个内核的CPU使用率
u/U:指定显示用户
h:帮助
在linux系统中一个进程可以占用超过100%CPU,如dirtycow(脏牛),提权漏洞
如果是4核心CPU,可以运行400%
lsof命令
查看你进程打开的文件,进程打开的端口
-i <条件>:查找符合条件的进程(如lsof -i :22查看打开22端口的进程)
-p <进程号>:列出指定进程号打开的文件
通过ps -aux | grep xxx找到进程号,再使用lsof -p xxx找到进程访问的文件
pstree工具使用
以树状显示进程,只显示进程的名字,相同进程合并。
-p 显示进程PID
使用此命令需要安装psmisc
yum -y install psmisc