需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧。大多数Linux发行版本都装备了大量的监控工具。这些工具提供了能用作取得相关信息和系统活动的量度指标。你能使用这些工具发现造成性能问题可能原因。
#1: top - 进程活动
作为一个广为人知的Linux工具,top是大多数的类Unix操作系统任务管理器。它可以显示当前正在运行的进程的列表,用户可以按照不同的条件对该列表进行排序。它主要显示了系统进程对CPU和内存的使用状况。top可以快速检查是哪个或哪几个进程挂起了你的系统。你可以在这里看到top使用的例子。你可以在终端输入top来运行它并进入到交互模式:
语 法:top [bciqsS][d <间隔秒数>][n <执行次数>]
参 数:
b 使用批处理模式。
c 列出程序时,显示每个程序的完整指令,包括指令名称,路径和参数等相关信息。
d<间隔秒数> 设置top监控程序执行状况的间隔时间,单位以秒计算。
i 执行top指令时,忽略闲置或是已成为Zombie的程序。
n<执行次数> 设置监控信息的更新次数。
q 持续监控程序执行的状况。
s 使用保密模式,消除互动模式下的潜在危机。
S 使用累计模式,其效果类似ps指令的"-S"参数
#2: ps - 显示进程
ps命令显示当前运行进程的快照.ps是用来报告程序执行状况的指令,您可以搭配kill指令随时中断,删除不必要的程序。
参 数:
-a 显示所有终端机下执行的程序,除了阶段作业领导者之外。
-u<用户识别码> 此参数的效果和指定"-U"参数相同。
L 列出栏位的相关信息。
x 显示所有程序,不以终端机来区分。
a 显示现行终端机下的所有程序,包括其他用户的程序。
常用组合:ps aux , ps –ef, ps –eFH,ps –eo,axo ,
查看使用Vivek用户名运行的进程
# ps -U vivek -u vivek u
设置自定义输出格式
# ps -eopid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan
只显示Lighttpd的进程ID
# ps-C lighttpd -o pid=
或者
#pgrep lighttpd
或者
# pgrep -u vivek php-cgi
显示PID为55977的进程名称
# ps-p 55977 -o comm=
找出消耗内存最多的前10名进程
# ps-auxf | sort -nr -k 4 | head -10
找出使用CPU最多的前10名进程
# ps -auxf | sort -nr -k 3 | head -10
#3: htop
参数:
-d #:指定延迟时间间隔;
-u UserName:仅显示指定用户的进程;
-s COLUME:以指定字段进行排序;
子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用;
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;
#4: dstat命令
常用参数:
-c, --cpu:显示cpu相关信息;
-C #,#,...,total
-d, --disk:显示磁盘的相关信息
-D sda,sdb,...,tobal
-g:显示page相关的速率数据;
-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;--tcp
--udp
--raw
--socket --ipc --top-cpu:显示最占用CPU的进程;
--top-io:最占用io的进程;
--top-mem:最占用内存的进程;
--top-lantency:延迟最大的进程;kill命令:- terminate a process用于向进程发送信号,以实现对进程的管理;显示当前系统可用信号:
#5: vmstat– 虚拟内存统计信息
vmstat是虚拟内存(virtual memory statistics)的缩写,作为一个内存监控工具,它收集和显示关于内存,进程,终端和分页和I/O阻塞的概括信息。作为一个开源程序,它可以在大部分Linux发行版本中找到,包括Solaris和FreeBSD。它用来诊断大部分的内存性能问题和其他相关问题。