命令格式:
1) top
2) top -U 用户名
主要用详细监测CPU资源,统计CPU消耗
参考:第三行参数
1)Cpu us<60%
2)Cpu sy<50%
3) 进程Cpu 百分比消耗<15%
4)id > 40,如果持续低于10,表示cpu性能不足
注意:发现进程长时间占用CPU,并且值很高,需要引起注意,进一步检查
命令格式:
1) free -mh
主要用详细监测物理内存、缓存资源,统计内存消耗
参考:
1)swap used值大于0时,表示物理内存资源不够,开始使用硬盘缓存,存在性能隐患
注意:当linux物理内存足够,内存预先分配后不会轻易回收,出现内存mem used值很高,属正常
free 是真正尚未被使用的物理内存数量。
avAIlable 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)
命令格式:
1) iostat -md /dev/sda 2 20 (对sda硬盘,以每隔2秒,共取20次值,并换算成M单位)
主要用于收集物理硬盘的读写情况
参考:
4) %iowait的值过高,表示硬盘存在I/O瓶颈
5) %idle值持续低于10,表明CPU性能不足
注意:根据对应业务状态,判断读写值是否超出业务需求 ,一般观察每秒读写即可。
另命令iotop可以查看各个进程对io消耗以从大到小的结果排列
命令iotop
命令格式:
1) sar -n DEV 2 20
主要用于收集网络收发状态
参考:
1)txkB/s rckB/s为发送和接收的每秒字节
注意:带宽总消耗<网卡物理带宽x60%,属合理状态
命令格式:
1) netstat -tnp
2) netstat -tnp | grep 1521 | wc -l (统计1521连接数)
3) netstat -tnp | grep ‘TIME_WAIT’ | wc -l )(统计TIME_WAIT状态连接数)
主要用详细监测网络连接数情况,同时可以查看对端ip地址
参考:
1) 检查time_wait连接不应该太多,太多表示业务没正常断开tcp、或网络不稳定
注意:连接数视业务情况,无用的TIME_WAIT会消耗服务器连接数,可以修改内核tcp/ip连接数提高连接数限制。
命令格式:
1) ps -ef | grep redis
2) ps -fu 用户名
主要用查询进程在线情况
注意:配合grep参数可以精确查询,判断进程是否在运行
命令格式:
1) uptime
主要用于显示系统开机运行时间总和
参考:
1)建议服务器半年重启一次
命令格式:
1) date -R
主要用于显示时间、日期、时区
参考:
1) 时间按照北京时间
2) 时区必须等于+8,也就是东8区
注意:时区问题经常出现在linux上,导致时间相差8小时,如果是虚拟机,会从虚拟机的宿主机上继承同步,需要进一步检查虚拟化平台的时区问题。
命令格式:
1) du -sh /home/
该命令统计目录大小,用于判断程序占用多少空间。
注意:linux的根目录(/)如果空间占满,很可能会出现卡顿,甚至重启后无法进入系统,因此需要格外检查运行在根目录下的程序,比如日志目录大小,并设置定时清理任务脚本