Linux 服务器状态分析

分析服务器的状态,其中常用命令如下:

vmstat:用以检测CPU和内存情况
iostat:用于检测磁盘状态
netstat:用于检测带宽状态

CPU:

我们在使用vmstat命令时%user和%sys体现CPU的状态,分别代表CPU处在用户模式下的时间百分比和系统模式下的时间百分比。一般情况下,%user+%sys<70%认为是CPU处于较为理想状态,当%user+%sys在70-90之间就已经是比较危险了,如果两者之和超过90%时基本就可以认为CPU存在较大瓶颈。

内存:

对于内存占用,一般有一个经验公式:应用程序可用内存/系统物理内存>70%时,表示系统内存资源非常充足,不影响系统性能,应用程序可用内存/系统物理内存<20%时,表示系统内存资源紧缺,需要增加系统内存,20%<应用程序可用内存/系统物理内存<70%时,表示系统内存资源基本能满足应用需求,暂时不影响系统性能。

硬盘:

我们使用iostat命令时,可以看到 Blk_read/s表示每秒读取的数据块数,Blk_wrtn/s表示每秒写入的数据块数,Blk_read表示读取的所有块数,Blk_wrtn表示写入的所有块数。其中,如果Blk_read/s和Blk_wrtn/s都一直很高,代表服务器对于硬盘的读写操作过于频繁,应该对其进行优化。

网络:

当使用netstat –i命令时,我们就可以监控到各网卡的联网情况和数据传输量,如果你发现你进行压测时,QPS一直上不去但是CPU,内存都很问题,那就可以使用这个命令来检测一下数据传输量是否已经超出带宽限制了。

响应速度:

顾名思义代表着每个请求的接口响应时间,如果服务器处理速度太慢可能就不满足一些需求,这个需要根据不同的功能进行评估。

丢包率:

该值的评估标准也随着需求的不同而存在变化,例如交易系统一定要保证没有一个丢包,但是如果是音乐或者视频播放可能就没有这么高的要求,存在0.1%以下的丢包率即可。

你可能感兴趣的:(Linux 服务器状态分析)