sar ,history ,vmstat ,uptime命令学习

【1】sar:主要负责收集、汇报与存储系统运行信息的。
root@root-desktop:~$ sar -o cpuinfor 5 5
Linux 2.6.32-31-generic (sugaofeng-desktop) 12/14/2012 _i686_ (1 CPU)
11:00:35 AM CPU %user %nice %system %iowait %steal %idle
11:00:40 AM all 0.40 0.00 1.60 0.00 0.00 98.00
11:00:45 AM all 0.40 0.00 0.80 0.00 0.00 98.80
11:00:50 AM all 0.40 0.00 1.80 0.00 0.00 97.80
11:00:55 AM all 0.20 0.00 0.60 0.20 0.00 99.00
11:01:00 AM all 0.60 0.00 0.20 0.00 0.00 99.20
Average: all 0.40 0.00 1.00 0.04 0.00 98.56

sar 5 6 -o xxx.txt 写入的是二进制
sar -f xxx.txt 读取方式
5 :时间间隔
6:输出次数
xxx.txt :输出文件
查看cpu信息
sar -P ALL 1 1 所有cpu性能信息
sar -P 5 1 1 第六个cpu的性能信息

sar -o xxx.txt -e hh:mm:ss;设置sar的结束时间
需要注意的一点是,-e选项只能用在读取(-f)或写入(-o)信息文件时才可用哦。

sar -u 2 5 :每个两秒报告一次CPU使用情况,共报告5次
sar -R 2 5 :每个两秒报告一次内存使用情况,共报告5次

root@root-desktop:~$ sar -n DEV 1 2
Linux 2.6.32-31-generic (sugaofeng-desktop) 12/14/2012 _i686_ (1 CPU)

11:09:34 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:09:35 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:09:35 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00

11:09:35 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:09:36 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:09:36 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00

IFACE:就是网络设备的名称;

rxpck/s:每秒钟接收到的包数目

txpck/s:每秒钟发送出去的包数目

rxbyt/s:每秒钟接收到的字节数

txbyt/s:每秒钟发送出去的字节数

rxcmp/s:每秒钟接收到的压缩包数目

txcmp/s:每秒钟发送出去的压缩包数目

txmcst/s:每秒钟接收到的多播包的包数目

如果你使用EDEV关键字,那么会针对网络设备汇报其失败情况,例如:

root@root-desktop:~$ sar -n EDEV 1 2
Linux 2.6.32-31-generic (sugaofeng-desktop) 12/14/2012 _i686_ (1 CPU)

11:10:35 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
11:10:36 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:10:36 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

11:10:36 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
11:10:37 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:10:37 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Average: IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

rxerr/s:每秒钟接收到的损坏的包的数目

txerr/s:当发送包时,每秒钟发生的错误数

coll/s:当发送包时,每秒钟发生的冲撞(collisions)数(这个是在半双工模式下才有)

rxdrop/s:由于缓冲区满,网络设备接收端,每秒钟丢掉的网络包的数目

txdrop/s:由于缓冲区满,网络设备发送端,每秒钟丢掉的网络包的数目

txcarr/s:当发送数据包时,每秒钟载波错误发生的次数

rxfram/s:在接收数据包时,每秒钟发生的帧对齐错误的次数

rxfifo/s:在接收数据包时,每秒钟缓冲区溢出错误发生的次数

txfifo/s:在发送数据包时,每秒钟缓冲区溢出错误发生的次数

如果你使用SOCK关键字,则会针对socket连接进行汇报,例如:

root@root-desktop:~$ sar -n SOCK 1 2
Linux 2.6.32-31-generic (sugaofeng-desktop) 12/14/2012 _i686_ (1 CPU)

11:11:11 AM totsck tcpsck udpsck rawsck ip-frag tcp-tw
11:11:12 AM 602 4 4 0 0 0
11:11:13 AM 602 4 4 0 0 0
Average: 602 4 4 0 0 0

totsck:被使用的socket的总数目

tcpsck:当前正在被使用于TCP的socket数目

udpsck:当前正在被使用于UDP的socket数目

rawsck:当前正在被使用于RAW的socket数目

ip-frag:当前的IP分片的数目

【2】history
history
n :数字,要列出最近的 n 笔命令列表
-c :将目前的shell中的所有 history 内容全部消除
-a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,预设写入 ~/.bash_history<br />
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w :将目前的 history 记忆内容写入 histfiles
history | more 逐屏猎术所有的历史记录

【3】vmstat
root@root-desktop:~$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 151140 28824 169836 0 0 116 15 55 132 1 1 97 1

(1)进程procs:
r 等待执行的任务数 展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了
b: 在等待io的进程数
(2)Linux 内存监控内存memoy:
swpd 正在使用的swap大小单位K
free 空闲的内存空间
buff 已使用的buff大小,对块设备的读写进行缓冲
cache 已使用的cache大小,文件系统的cache
(3) Linux 内存监控swap交换页面
si 交换内存使用,由磁盘调入内存
so 交换内存使用,由内存调入磁盘
(4)Linux 内存监控 io块设备:
bi 从块设备读入的数据总量(读磁盘) (KB/s),
bo 写入到块设备的数据总理(写磁盘) (KB/s)
(5)Linux 内存监控system系统:
in 每秒产生的中断次数
cs 每秒产生的上下文切换次数
us 用户进程消耗的CPU时间百分比 us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了
(6)Linux 内存监控cpu中央处理器:
sy 内核进程消耗的CPU时间百分比 sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。
id 空闲
wa IO等待消耗的CPU时间百分比 wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。


-s:显示内存相关统计信息及多种系统活动数量
-d:显示磁盘相关统计信息。
vmstat 5 5(表示在5秒时间内进行5次采样)命令测试


【4】uptime
root@root-desktop:~$ uptime
10:20:07 up 45 min, 2 users, load average: 0.02, 0.11, 0.09
10:20:07 //系统当前时间
up 45 min //主机已运行时间,时间越大,说明你的机器越稳定。
2 users //用户连接数,是总连接数而不是用户数
load average // 系统平均负载,统计最近1,5,15分钟的系统平均负载 ,如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。

top
top命令用来显示执行中的程序进程
top d 5:指定更新的间隔,以秒计算。[指定5秒]
i:不显示任何闲置(Idle)或无用(Zombie)的行程。

root@root-desktop:~$ top i
top - 10:50:15 up 1:15, 2 users, load average: 0.03, 0.10, 0.09
Tasks: 147 total, 2 running, 145 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7%us, 0.7%sy, 0.0%ni, 98.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 509256k total, 412088k used, 97168k free, 131572k buffers
Swap: 1425400k total, 44k used, 1425356k free, 87904k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
872 root 20 0 48520 27m 7364 R 2.0 5.5 0:16.61 Xorg
1869 sugaofen 20 0 2548 1228 924 R 0.0 0.2 0:01.48 top

第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载
第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程
第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例
第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。
第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小
第六行显示的项目最多,下面列出了详细解释:
PID(Process ID):进程标示号。
USER:进程所有者的用户名。
PR:进程的优先级别。
NI:进程的优先级别数值。
VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME+:该进程启动后占用的总的CPU时间。
Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
top命令使用【过程中】,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。

posted @ 2012-12-14 11:44  wangpossible  Views(261)  Comments(0Edit  收藏  举报