linux的程序与资源监控命令

 

一 进程信息

 

1 ps


 [root @test /root ]# ps -aux

  参数说明:

  a : 选择列出所有的程序

  u : 列出所有用户的程序

  x : 列出所有tty的程序

  范例:

  [root @test /root]# ps -aux

  USER    PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root      1 0.0 0.1 1384 468 ?    S    Mar31 0:05 init [3]

  root      2 0.0 0.0     0    0 ?  SW   Mar31 0:00 [keventd]

  root      3 0.0 0.0     0    0 ?  SWN  Mar31 0:00 [ksoftirqd_CPU0]

  root      4 0.0 0.0     0    0 ?  SW   Mar31 0:11 [kswapd]

  root      5 0.0 0.0     0    0 ?  SW   Mar31 0:00 [bdflush]

  root      6 0.0 0.0     0    0 ?  SW   Mar31 0:00 [kupdated]

  root    130 0.0 0.0     0    0 ?  SW   Mar31 0:00 [kjournald]

  root    131 0.0 0.0     0    0 ?  SW   Mar31 0:01 [kjournald]

  root    132 0.0 0.0     0    0 ?  SW   Mar31 0:03 [kjournald]

  root    133 0.0 0.0     0    0 ?  SW   Mar31 0:12 [kjournald]

  root    482 0.0 0.2 1444 528 ?    S    Mar31 0:03 syslogd -m 0

  ........

  上面的命令用来查询当前主机环境中在背景执行的相关程序。我通常使用ps -aux参数

列出所有的信息以检查程序。对于上面的程序,说明如下:

  · USER:说明该程序属于哪一个用户;

  · PID:该程序的代号;

  · %CPU:代表该程序使用了多少CPU资源;

 

  %MEM:代表该程序使用了多少RAM;

· VSZ,RSS:占去的RAM的大小(以字节为单位);

· TTY:是否为登入者执行的程序?若为tty1-tty6,则为本机登入者,若为pts/??,则

  为远程登入者;

· STAT:该程序的状态,R为可执行,S为该程序正在睡眠中,就是没有执行,T为

  正在检测或者停止,Z表示死亡程序,需要用kill除去;

· START:该程序开始的日期;

· TIME:该程序的运行时间;

· COMMAND:该程序的内容。

 

 

2      top

  [root @test /root ]# top
  参数说明:
  在执行top的程序中,可以输入下面的字符进行排序
  A :以age亦即执行的先后顺序进行排序
  T :由启动的时间排序
  M :以所占的内存大小排序
  P :以所耗用的CPU资源排序
  范例:
  [root @test /root]# top
   11:55pm up 8 days, 7:40, 1 user, load average: 0.22, 0.14, 0.10
  71 processes: 69 sleeping, 2 running, 0 zombie, 0 stopped
  CPU states: 24.6% user, 3.7% system, 0.0% nice, 71.5% idle
  Mem: 255892K av, 222300K used, 33592K free,         0K shrd, 48084K buff
  Swap: 289128K av,     8184K used, 280944K free                     110472K
  cached
    PID USER    PRI NI SIZE RSS SHARE STAT %CPU %MEM      TIME COMMAND
   9898 root      9 0 5976 5976 1364 S       5.5 2.3      0:00 mrtg
   4744 apache   14 0 5312 5052 3764 S        2.1 1.9     0:16 httpd
   9189 apache   14 0 4520 4256 3752 S        1.9 1.6     0:01 httpd
   9187 apache   10 0 4544 4276 3800 S        1.7 1.6     0:01 httpd
   9212 mysql     9 0 7280 4772 2716 S       0.7 1.8      0:00 mysqld
   9888 root     12 0 1064 1064 832 R        0.7 0.4      0:00 top
   4842 mysql    10 0 7280 4772 2716 S       0.5 1.8      0:06 mysqld
   9218 mysql    10 0 7280 4772 2716 S       0.5 1.8      0:00 mysqld
  ps是个不错的管理工具,但是ps毕竟不是动态的,使用top则可以用动态(每5秒钟更新
一次)的方式检测程序的运行。而且,在程序运行中,还可以使用P以CPU耗用资源排序、
使用M以内存占用大小排序等,是非常好用的管理工具。
3 mpstat
安装:apt-get install sysstat
与top不同,mpstat可以监控多核的cpu使用率。
(1)当前cpu使用率    mpstat
(2)当前第1个cpu使用率    mpstat 1
(3)cpu使用率,间隔1秒,显示3次    mpstat 1 3

 

4    kill
[root @test /root ]# kill -signal PID
参数说明:
-signal跟上面的kill一样:
  -1 :让该PID重新读取它的配置文件
  -9 :杀掉该程序
  -15 :停止该程序
  范例:
  [root @test /root]# kill -9 2380
  要杀掉一个程序,自然需要知道该程序的PID。另外,需要注意的是,由于很多程序都
有附属关系,例如sendmail可能会同时开启很多程序(如果邮件数量很大),所以,砍掉子
程序无法将整个程序杀掉。要知道该程序的代号(PID)就得善用ps,top等工具。此外,
您常会发现在一些脚本中写着kill –1 PID,其中的–l是让该PID重新读取配置文件,最常发
现在syslogd这个daemon中。

 

二 内存信息
1      free
  [root @test /root ]# free
  参数说明:
  -k :以KBytes显示内存
  -m :以MBytes显示内存
  范例:
  [root @test /root]# free
              total       used   free   shared buffers cached
  Mem:        255892      222076 33816     0   49072   112272
  -/+ buffers/cache:      60732  195160
  Swap:       289128      7572   281556
  另一个查看系统资源的方法是使用free来检查当前内存的使用情况。在上面的例子中,
显示我有256MB的内存,有大约270MB的swap(就是虚拟内存)。
  sar
看cpu或者内存信息。功能强大。

     [root @test /root ]# sar [-u] [-r] 秒数 次数
    参数说明:
    -u :看CPU的使用情况
    -r :看内存的使用情况
    秒数:几秒钟观测一次?
    次数:共观测几次
    范例:
    [root @test /root]# sar -u 1 3
    12:10:28 AM         CPU     %user  %nice   %system    %idle
    12:10:29 AM         all     0.00   0.00    0.00       100.00
    12:10:30 AM         all     0.00   0.00    0.00       100.00
    12:10:31 AM         all     12.00  0.00    1.00       87.00
    Average:            all     4.00   0.00    0.33       95.67
    [root @test /root]# sar -r 1 3
    12:11:11 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
    kbswpfree kbswpused %swpused
    12:11:12 AM 24416   231476 90.46   0   51068   112536 281556 7572 2.62
    12:11:13 AM 24420   231472 90.46   0   51068   112536 281556 7572 2.62
    12:11:14 AM 24392   231500 90.47   0   51068   112540 281556 7572 2.62
    Average:    24409   231483 90.46   0   51068   112537 281556 7572 2.62
    鸟哥很喜欢使用sar查看系统资源,常用它查看CPU与RAM,当然,还可以观察硬盘的
I/O变化。在上面的例子中,观察CPU时可以发现CPU idle的时间很长。另外,在查看RAM
时,比较常用的是%memused(使用的百分比)及%swpused(虚拟内存使用的百分比),
很方便吧,一览无遗!事实上,鸟哥也已经以sar作为MRTG绘制图表的一个工具,很方便。
不过,比较麻烦的是,ubuntu默认没有安装这个套件,
下面比较一下top,sar和mpstat的准确性。每秒显示一次cpu使用率。
 
top和mpstat的缺点是使用top或者mpstat实时刷新时 第一次显示都不是很准,不知道为什么。sar则不会这样。
三   主机的 综合信息
1      在/proc下看看cpu信息:

[root @test root]# more /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 5
model           : 4
model name      : Pentium MMX
stepping        : 4
cpu MHz         : 167.047
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : yes
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 mmx
bogomips        : 333.41
类似的还有  more /proc/meminfo

    uname

  [root @test /root ]# uname [-apnr]
  参数说明:
  -a :列出所有的系统信息
  -p :列出CPU信息
  -n :列出主机名
  -r :列出核心版本信息
  范例:
  [root @test /root]# uname -a
  Linux test.linux.org 2.4.18 #2 Mon Mar 25 21:51:51 CST 2002 i586 unknown
  想知道您的系统信息,包括核心版本、主机名称、CPU信息等,可以使用uname。另外,
如果对您的CPU有兴趣,不妨在/proc下看看:
  [root @test root]# more /proc/cpuinfo
  processor       : 0
  vendor_id       : GenuineIntel
  cpu family      : 5
  model           : 4
  model name      : Pentium MMX
  stepping        : 4
  cpu MHz         : 167.047
  fdiv_bug        : no
  hlt_bug         : no
  f00f_bug        : yes
  coma_bug        : no
  fpu             : yes
  fpu_exception   : yes
  cpuid level     : 1
  wp              : yes
  flags           : fpu vme de pse tsc msr mce cx8 mmx
  bogomips        : 333.41

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值