Linux如何查看资源使用情况

  • A+
所属分类:Linux

运维离不开查看进程的常用命令,下面介绍几个查看资源使用情况的常用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的进程的资源使用情况,并显式该进程启动的命令行参数

  • 我的微信
  • 加好友一起交流!
  • weinxin
  • 微信公众号
  • 关注公众号获取分享资源!
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: