须要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧。大多数Linux发行版本都装备了大量的监控工具。这些工具提供了能用做取得相关信息和系统活动的量度指标。你能使用这些工具发现形成性能问题可能缘由。php
#1: top - 进程活动html
做为一个广为人知的Linux工具,top是大多数的类Unix操做系统任务管理器。它能够显示当前正在运行的进程的列表,用户能够按照不一样的条件对该列表进行排序。它主要显示了系统进程对CPU和内存的使用情况。top能够快速检查是哪一个或哪几个进程挂起了你的系统。你能够在这里看到top使用的例子。你能够在终端输入top来运行它并进入到交互模式:linux
语 法:top [bciqsS][d <间隔秒数>][n <执行次数>]服务器
参 数:
b 使用批处理模式。
c 列出程序时,显示每一个程序的完整指令,包括指令名称,路径和参数等相关信息。
d<间隔秒数> 设置top监控程序执行情况的间隔时间,单位以秒计算。
i 执行top指令时,忽略闲置或是已成为Zombie的程序。
n<执行次数> 设置监控信息的更新次数。
q 持续监控程序执行的情况。
s 使用保密模式,消除互动模式下的潜在危机。
S 使用累计模式,其效果相似ps指令的"-S"参数app
#2: ps - 显示进程socket
ps命令显示当前运行进程的快照.ps是用来报告程序执行情况的指令,您能够搭配kill指令随时中断,删除没必要要的程序。tcp
参 数:
-a 显示全部终端机下执行的程序,除了阶段做业领导者以外。 ide
-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。它用来诊断大部分的内存性能问题和其余相关问题。