linux常用系统监控命令,linux监控命令
linux常用系统监控命令,linux监控命令
原文:http://blog.sina.com.cn/s/blog_68f1c17001016uvy.html
Linux提供了很多用于监控系统的工具,使用这些工具可以找到导致系统性能降低的瓶颈。系统反应慢并不总是由于CPU慢,它也可能是因为磁盘速度太慢、系统中安装的内存较少、网络拥挤或其他反应较慢的系统部件导致。
一、top –进程活动监控
最广泛使用的系统性能监控工具是top,你启动top后,它每隔五秒显示一屏信息,动态实时地显示系统状态。
top的输出显示如下:
在最顶行显示了系统名和信息被收集和显示的时间。Top命令的输出被分为3个主要部分。这3个部分是CPU、内存和进程。
CPU部分显示如下信息:
内存区部分显示如下信息:
进程的数据构成很多列,这些列根据CPU的利用率降序排列,使用CPU最多的进程在最上面。
进程区部分显示如下信息:
- CPU 表示被执行进程的CPU号
- TTY 进程使用的终端
- PID 进程ID
- USERNAME 进程的所有者名
- PRI 进程优先级
- NI nice值
- SIZE 内存中进程的总大小
- RES 进程的驻留大小,它是一个大概值。
- STATE 进程的当前状态
- TIME 进程消耗的CPU时间
- %WCPU 进程CPU利用率权重百分比
- %CPU 进程的原始CPU利用率百分比
- COMMAND 启动进程的命令名
退出使用top,按q键
二、vmstat – 收集系统活动,硬件和系统信息
vmstat命令可以显示虚拟内存的统计数据,它显示有关进程、页的错误,同时这个命令也可以用来看CPU和磁盘I/O的信息
a.在procs子标题下的域:
·r 在运行的进程数量
·b 被资源阻塞的进程数,(可能在等待I/O或内存)
·w 正在等待运行的进程,它们已经从主内存中被交换出去(由于内存短缺)
需要注意的是w域,它表示进程被交换(swap out)出去的数量,如果这个列的值不为0,则表示你的内存有问题。
b.在memory子标题下的域:
·avm 活动的虚拟内存,指分配给进程的内存页
·free 表示实际的可用内存页大小
c.在page子标题下的域:
·re 回收的页,一个很大的数字表示内存不足
·at 地址转换错误
·pi 换入的页(page in)
·po 换出的页
·fr 每秒释放的页
·de 短期预计的内存不足
·sr 指page后台程序在找到可用内存空间时需要扫描检查的页数(san rate)。
在这些域中最重要的是pi、po、de和sr域,当程序开始时,可以看到在pi下有page in的活动,这种活动是正常的。但是,如果是在程序启动后,仍然发现进程有从磁盘page in的活动,这说明情况不太好。po是指系统把进程移出,以便给其它进程留出内存空间,如果有活动,也是一个不好的信号。如果你发现在de项的数值不为0,这表明有很大的问题,这个值表示预期会有内存短缺
d.在fault子标题下的域(显示了最近5秒钟每秒的陷阱和中断率):
·in 每秒的设备中断
·sy 每秒钟的系统调用
·cs CPU上下文的转换速率
e.在cpu子标题下的域
·us 正常或低优先级进程的用户时间
·sy 系统时间
·id 空闲时间
可以使用下面的vmstat命令方式,每5秒钟收集一次性能数据,共显示3次
三、 uptime –看系统已经运行了多久
最简单看系统load的命令是 uptime,它通常用来看机器已经运行了多久时间:
它给出了三个方面的信息,首先你可以了解服务器已经运行了多久,如果你发现服务器运行的时间很短,而最近并没有安排服务器重启,可能服务器有存在问题,导致系统在最近自动重启。下一个信息是用户的数量,由于应用和数据库用户并没给直接通过操作系统访问服务器,因此并不能真实的反映有多少人在使用这个服务器,但是你还是可以了解下,对特别大或特别小的数要注意。最后是系统的平均负载load average,如上图所示,系统过去1分钟的负载是0.04,过去5分钟的平均负载是0.11,过去15分钟的平均负载是0.14,
四、w – 找出哪些用户在访问系统,在干什么
W命令显示当前机器上用户的信息和他们的进程。
五、 ps –显示进程信息
使用ps命令列出进程,ps命令不带参数将列出调用该命令用户的所有进程。该命令的典型输出如下:
为了列出所有的进程,你可以使用ps命令带-ef选项。
六、iostat –统计CPU平均负载和磁盘活动
iostat 命令可以用于监控磁盘驱动器的I/O行为:
- device 显示给出报告的实际磁盘设备
- bps 显示每秒钟输入/输出的千字节
- sps 列出每秒查找的数量
- msps 平均每个查找需要的好描述数
如下命令显示3次IO的统计信息,每5秒一次。
七、sar –收集和报告系统活动
可以用sar(System Activity Report)系统行为报告来检查磁盘的I/O。
下面的sar命令,每3秒钟显示一次磁盘IO的统计信息,共收集5次。
- bread/s 每秒钟从磁盘到缓冲存储器的读操作次数
- lread/s 每秒钟从缓冲存储中的读操作次数
- %rcache 对于读操作缓冲存储器的命中率
- bwrite/s 每秒钟从缓冲存储器到磁盘写操作的次数
- lwirt/s 每秒钟向缓冲存储器中写的操作次数
- %wcache 对于写操作缓冲存储器的命中率
- pread/s 每秒钟从裸设备中读操作次数
- pwrit/s 每秒钟向裸设备写操作次数
有磁盘的%busy值经常大于50吗?对于该磁盘,是否同时存在其avwait>avserv
的现象?(因为涉及到physical IO 和logical IO 的配置平衡,以及buffer page/swap空间/异步读写等问题,磁盘瓶颈很难通过单一因素判断,50%只是一个大概的评估标准,要结合具体情况综合分析。有时候,%busy仅仅为20 就已经是磁盘瓶颈,而另外的我们认为磁盘工作正常的系统,%busy值很可能已达到80)。
还可以用sar命令监控CPU的负载,sar命令的-u选项显示CPU的统计信息,输出显示了诸如用户、系统、等待I/O和空闲状态的CPU时间分配。如下命令显示5次CPU的统计信息,每3秒一次。
报告CPU的利用率是以百分率的形式给的,看系统进程%sys、用户进程%usr和空闲进程%idel各自所占的百分率,此外还有%wio表示有多少时间在等待磁盘的I/O。如果CPU的空闲很高,那你可以不用做什么,但如果长时间内%idle值<5 ,表明CPU利用率很高,说明CPU很可能有瓶颈,,你需要进一步分析。
一般来说,我们不希望系统进程占用了很高的CPU负载,,CPU应当更多的服务用户进程,就一般而言,我希望看到系统进程占20%或30%,用户进程占70%或80%。
如果长时间内%usr>80说明CPU资源基本上被用户进程占用,CPU存在明显瓶颈。
如果%usr 值很少>80,系统可能的瓶颈存在于CPU、memory或I/O 中间。
如果%wio值>15,这是磁盘有瓶颈的信号。
八、netstat –网络状态统计
用于监控诸如接受和发出的网络流量、协议的使用、指定到接口卡适配器的IP地址等的网络行为。
netstat -i 输出网卡状态报告.
netstat -in显示Address列的是IP地址而非主机名.
ls 列出目录内容和文件信息
-a 用来显示所有的文件
-l 用来查看文件的各种属性
-r 逆字母母录显示
-R 递归显示每个子目录下的目录
-h 易读性
cat和more查看文本文件
cat 查看文件内容
-n 在每一行前显示行号
阅读文件的开头和结尾 head和tail
head -n 20 显示文件的前20行
tail -n 20 显示文件后20行
less 更好的文本阅读工具
文件目录管理
mkdir:建立目录
-v显示创建目录的过程
-p用虚完整的创建字目录
rmdir:删处目录
rm:删处文件
-i 删除文件前提示
-r 递归的删除目录下所有的文件和子目录
-f 强形删处
-rf 不提示强形删除r目录
mv:移动和重命名目录
-i 提示移动时是否覆盖目录
cp : 复制文件和目录
- i 提示是否覆盖以存在的目录
-r 连同目录与文件一起复制
-p 保留权限属性
linux系统主要目录及其内容:
/bin:构建最小系统所需要的命令 二进制命令
/boot:内核与启动文件
/dev:各设备文件
/etc:系统软件的启动和配置文件
/home:用户的主目录
/lib:C编译的库
/media:
可移动介质的安装点
/opt:可选的应用软件包
/proc:进程的映像
/root:超级用户root的主目录
/sbin:和系统操作有关的命令
/tmp:临时文件存放点
/usr:非系统的程序和命令
/var:系统专用的数据和配置文件值。
什么是相当路径和决定路径?
相对路径:一定是有/目录写起。
绝对路径:不是由/目录写起的。
linux严格区分大小写
. :当前目录
.. : 当前目录的上级目录
~ : 当前的用户的家目录
locole -a 显示linux 支持的语言软件包
logout 退出命令
tty 显示当前登录的终端
startx & 切换用户
shift+ctrl+c 复制
shift+ctrl +v 粘贴
终端:终端分为虚拟终端,图像终端,为终端
快速切换用户:su
语法 su[option][arguments]
history 查看当前操作的命令历史
-c 删除历史
!n 查看操作命令
!! 重复 上一条命令
!—n 重复倒数的n条命令...余下全文>>
监控啥?
监控网路状况的用netstat、监听网路封包可以用tcpdump或nc
监控现在有谁在用机器用who...
没有具体目标...不知道怎回答
评论暂时关闭