查询系统负载信息 Linux 命令详解
转自:http://blog.shilimin.com/454.htm
查询系统负载信息Linux命令详解
作者:嘻嘻哈哈发布:2013-05-1609:18分类:linux阅读:1177views抢沙发
linuxuptime命令主要用于获取主机运行时间和查询linux系统负载等信息。uptime命令过去只显示系统运行多久。现在,可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
uptime命令用法十分简单:直接输入
#uptime
即可。
输入样例:
18:02:41up41days,23:42,1user,loadaverage:0.00,0.00,0.00
1可以被认为是最优的负载值。负载是会随着系统不同改变得。单CPU系统1-3和SMP系统6-10都是可能接受的。
另外还有一个参数-V,是用来查询版本的。(注意是大写的字母v)
[linux@localhost]$uptime-V
procpsversion3.2.7
[linux@localhost]$uptime
显示结果为:
10:19:04up257days,18:56,12users,loadaverage:2.10,2.10,2.09
显示内容说明:
10:19:04//系统当前时间
up257days,18:56//主机已运行时间,时间越大,说明你的机器越稳定。
12user//用户连接数,是总连接数而不是用户数
loadaverage//系统平均负载,统计最近1,5,15分钟的系统平均负载
那么什么是系统平均负载呢?系统平均负载是指在特定时间间隔内运行队列中的平均进程数。
如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。
如果你的linux主机是1个双核CPU的话,当LoadAverage为6的时候说明机器已经被充分使用了。
查看cpu负载
#vmstat
procs———–memory———-—swap–—–io—-–system–—–cpu——
rbswpdfreebuffcachesisobiboincsussyidwast
143297962604045283379824115016036172108530
procs
r列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
cpu表示cpu的使用状态
us列显示了用户方式下所花费CPU时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy列显示了内核进程所花费的cpu时间的百分比。这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在CPU不足。
wa列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
id列显示了cpu处在空闲状态的时间百分比
system显示采集间隔内发生的中断数
in列表示在某一时间间隔中观测到的每秒设备中断数。
cs列表示每秒产生的上下文切换次数,如当cs比磁盘I/O和网络信息包速率高得多,都应进行进一步调查。
memory
swpd切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free当前的空闲页面列表中内存数量(k表示)
buff作为buffercache的内存数量,一般对块设备的读写才需要缓冲。
cache:作为pagecache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。
swap
si由内存进入内存交换区数量。
so由内存交换区进入内存数量。
IO
bi从块设备读入数据的总量(读磁盘)(每秒kb)。
bo块设备写入数据的总量(写磁盘)(每秒kb)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。
linux下查看系统资源和负载,以及性能监控的查看
1,查看磁盘
df-h
2,查看内存大小
free
free[-m|g]按MB,GB显示内存
vmstat
3,查看cpu
cat/proc/cpuinfo
只看cpu数量grep“modelname”/proc/cpuinfo|wc-l
4,查看系统内存
cat/proc/meminfo
5,查看每个进程的情况
cat/proc/5346/status5347是pid
6,查看负载
w
uptime
7,查看系统整体状态
top
最后一些输出信息的解释:
loadaverage:0.09,0.05,0.01
三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟),它们的数字当然是越小越好。“有多少核心即为有多少负荷”法则:在多核处理中,你的系统均值不应该高于处理器核心的总数量
进程使用的内存可以用top,有3个列VIRTRESSHR,标示了进程使用的内存情况,VIRT标识这个进程可以使用的内存总大小,包括这个进程真实使用的内存,映射过的文件,和别的进程共享的内存等.RES标识这个这个进程真实占用内存的大小.SHR标识可以和别的进程共享的内存和库大小.
8,性能监视sar命令
sar-u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况
CPU
CPU编号
%user
在用户模式中运行进程所花的时间
%nice
运行正常进程所花的时间
%system
在内核模式(系统)中运行进程所花的时间
%iowait
没有进程在该CPU上执行时,处理器等待I/O完成的时间
%idle
没有进程在该CPU上执行的时间
sar510sar以5秒钟间隔取得10个样本
sar-u-pALL55分cup显示
sar-n{DEV|EDEV|NFS|NFSD|SOCK|ALL}
sar提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV|EDEV|NFS|NFSD|SOCK|ALL。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
sar-nDEV各参数含义
IFACE
LAN接口
rxpck/s
每秒钟接收的数据包
txpck/s
每秒钟发送的数据包
rxbyt/s
每秒钟接收的字节数
txbyt/s
每秒钟发送的字节数
rxcmp/s
每秒钟接收的压缩数据包
txcmp/s
每秒钟发送的压缩数据包
rxmcst/s
每秒钟接收的多播数据包
9,查看命令历史(含时间戳)
exportHISTTIMEFORMAT=’%F%T‘;history|more
10,查看文件夹和文件大小
du-h–max-depth=0dm查看dm目录大小
du-h–max-depth=1dm查看dm目录大小,以及dm各文件文件夹的大小
du-h–max-depth=0查看当前文件夹大小