- A+
运维离不开查看进程的常用命令,下面介绍几个查看资源使用情况的常用Linux命令,请注意查收。
总体内存占用情况
free
[admin@localhost ~]$ free
total used free shared buffers cached
Mem: 1019468 716864 302604 92 8960 59412
-/+ buffers/cache: 648492 370976
Swap: 1049596 567944 481652
- free命令默认是以kb为单位显示的,可以用free -m 用Mb单位来显示。
-
Mem行 : total = used + free 其中buffers和cached虽然计算在used内, 但其实为可用内存。
-
Mem下一行:used为真实已占内存,free为真实可用内存。
-
Swap:内存交换区的使用情况。
查看内存占用前五的进程
ps auxw | head -1;ps auxw|sort -rn -k4|head -5
[admin@locaclhost ~]$ ps auxw | head -1;ps auxw|sort -rn -k4|head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
admin 11111 0.1 5.0 235424 51144 ? S 09:41 0:02 php-fpm: pool admin
admin 11112 0.1 4.9 235164 50276 ? S 09:41 0:02 php-fpm: pool admin
admin 11113 0.1 4.8 235256 49524 ? S 09:41 0:02 php-fpm: pool admin
admin 11114 0.0 4.7 234024 48888 ? S 09:41 0:01 php-fpm: pool admin
admin 11115 0.1 4.7 232372 48680 ? S 09:41 0:02 php-fpm: pool admin
内存的单位是kb,VSZ是虚拟内存的占用,RSS是真实的内存的占用。
命令分解:
- ps auxw显示系统资源占用情况;
-
head -1表示显示第一列,即标题列;
-
sort -r 表示反向排序,-n表示按数字排序,-k4表示列的第4个字符。
查看CPU占用前三的进程
ps auxw|head -1;ps auxw|sort -rn -k3|head -3
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www 19934 0.1 4.9 235256 50864 ? S 09:41 0:02 php-fpm: pool www
www 19932 0.1 4.7 232372 48680 ? S 09:41 0:02 php-fpm: pool www
www 19927 0.1 4.9 235424 50692 ? S 09:41 0:02 php-fpm: pool www
命令与上面的命令相仿,只是选择的资源占用情况的第3列(即cpu),用“-k3”表示。
查看系统整体的负载
top
[admin@localhost ~]$ top
top - 10:22:20 up 99 days, 7 min, 1 user, load average: 0.00, 0.02, 0.04
Tasks: 164 total, 1 running, 163 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.3%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1019468k total, 754404k used, 265064k free, 11168k buffers
Swap: 1049596k total, 561592k used, 488004k free, 71136k cached
- 第一行: 系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载
-
第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(stopped)+ 僵尸进程数(zombie)
-
第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy)+ CPU空置率(id)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1111 root 20 0 2207m 13m 1480 S 0.3 1.3 102:02.36 java
1 root 20 0 19344 556 336 S 0.0 0.1 0:03.22 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:07.58 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:08.38 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 10:56.07 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_long/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_power_ef
注解:
- PID :进程ID
-
USER :用户名
-
PR :优先级
-
NI :负值表示高优先级,正值表示低优先级。
-
VIRT :虚拟内存
-
RES : 真实内存
-
SHR :共享内存
-
S :进程状态 D=不可中断的睡眠状态; R=运行; S=睡眠 ;T=跟踪/停止; Z=僵尸进程
参数:
top -d 2 :每隔2秒显式所有进程的资源占用情况
top -c :每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789:每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 :每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
- 我的微信
- 加好友一起交流!
-
- 微信公众号
- 关注公众号获取分享资源!
-