1. 查看服务器负载有多种命令w或鍺uptime都可以直接展示负载
load average分别对应于过去1分钟,5分钟15分钟的负载平均值。
如何判断系统是否已经Over Load
对一般的系统来说根据cpu数量去判断。如果平均负载始终在1.2以下而你有2颗cup的机器。那么基本不会出现cpu不够用的情况也就是Load平均要小于Cpu的数量,一般是会根据15分钟那个load 平均徝为首先
这两个命令只是单纯的反映出负载,linux提供了更为强大也更为实用的top命令来查看服务器负载。
Tasks行展示了目前的进程总数及所处狀态要注意zombie,表示僵尸进程不为0则表示有进程出现问题。
Cpu(s)行展示了当前CPU的状态us表示用户进程占用CPU比例,sy表示内核进程占用CPU比例id表礻空闲CPU百分比,wa表示IO等待所占用的CPU时间的百分比wa占用超过30%则表示IO压力很大
Mem行展示了当前内存的状态,total是总的内存大小userd是已使用的,free是剩余的buff/cache是目录缓存。
Swap行同Mem行avail Mem表示可用于进程下一次分配的物理内存数量。如果Swap的used很高则表示系统内存不足。
在top命令下按1,则可以展示出服务器有多少CPU及每个CPU的使用情况
一般而言,服务器的合理负载是CPU核数*2也就是说对于8核的CPU,负载在16以内表明机器运行很稳定流畅如果负载超过16了(上边提到的15分钟之内的load average),就说明服务器的运行有一定的压力了
在top命令下,按shift + “c”则将进程按照CPU使用率从大到小排序,按shift+“p”则将进程按照内存使用率从大到小排序,很容易能够定位出哪些服务占用了较高的CPU和内存
仅仅有top命令是不够的,因为它仅能展示CPU和内存的使用情况对于负载升高的另一重要原因——IO没有清晰明确的展示。linux提供了iostat命令可以了解io的开销。
输入iostat -x 1 10命令表示开始监控输入输出状态,-x表示显示所有参数信息1表示每隔1秒监控一次,10表示共监控10次
其中rrqm/s表示读入,wrqm/s表示每秒写入这两个参数某一个特别高的时候就表示磁盘IO有很大压力,util表示IO使用率如果接近100%,说明IO满负荷运转
发布了60 篇原创文章 · 获赞 15 · 访问量 6万+