实时监测linux资源命令,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

0818b9ca8b590ca3270a3433284dd417.png

(2)当前第1个cpu使用率    mpstat 1

0818b9ca8b590ca3270a3433284dd417.png

(3)cpu使用率,间隔1秒,显示3次    mpstat 1 3

0818b9ca8b590ca3270a3433284dd417.png

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(就是虚拟内存)。

2

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使用率。

#!/bin/sh

#死循环。注意while后的空格

while :

do

sleep 1

#top

cpu_top=$(top -n 1| grep "Cpu"| awk '{print $5}'| awk -F '%' '{print $1}')

#sar

cpu_sar=$(sar -u 1 1| awk 'NR==4 {print $8}')

#mpstat

cpu_mpstat=$(mpstat| awk 'NR==4 {print $11}')

echo "cpu_top : $cpu_top "

echo "cpu_sar : $cpu_sar "

echo "cpu_mpstat : $cpu_mpstat "

done

0818b9ca8b590ca3270a3433284dd417.png

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

2

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值