Linux香港服务器负载过高问题排查指南

Linux香港服务器租用过程中往往会应该负载过高的问题出现访问卡顿现象,那么需要第一时间排查问题所在,从而采取相关措施。目前CPU、内存以及磁盘I/O的过度使用都有可能导致高负载问题出现。

所以可以从这些项目的当前和历史资源使用情况来判断:

当前CPU使用情况

运行top,并在cpu(s)一行中检查%id部分所显示的闲置CPU百分比。该数字越高结果越好,说明CPU的工作负载不强。处于99%闲置状态下的CPU几乎没有处理任何实际任务,而处于1%闲置状态下的CPU则意味着接近满载。

$ top c

提示:可加写P根据消耗CPU资源的多少对进程加以分类。

历史CPU使用情况

查看“%idle”列:

$ sar -p

当前内存使用情况

$ free -m
提示:运行top c并加写M可查看哪个进程占用的内存量最大。

历史内存使用情况

根据sar版本的不同,命令内容也有所区别。早期版本通过添加“-r”参数显示内存使用百分比与虚拟内存使用百分比,但新版本则改用“-s”参数显示虚拟内存使用百分比。
Check %memused and %swpused:

$ sar -r

或者:

$ sar -S

内存使用情况提示:服务器内存占用量较高的情况其实非常正常。这是因为内存的读写速度及效率远高于服务器磁盘,因此操作系统倾向于将内存作为缓冲机制预先载入数据,从而提高数据读取速度。

同样,内存使用百分比也并不是什么大问题(除非大家没有设置虚拟内存分区,但这也与内存本身无关)。大家真正需要关注的是虚拟内存使用百分比,因为只有在服务器的物理内存被全部占用后、虚拟内存才会接替而上发挥作用。这一数字越低,就说明服务器的运行状态越好。如果虚拟内存使用率为0%,则意味着我们的服务器能够完全利用物理内存执行任务。

那么虚拟内存使用率达到多少才算过高?这取决于大家自己的感觉。一般来说,如果虚拟内存使用率一直不高、那么我们的服务器的运行状态还是比较理想的。如果大家发现虚拟内存使用率随时间不断提升(例如由1%到7%再到32%),这就代表服务器上的某些进程正在疯狂吞噬内存,我们需要及时展开调查以了解具体情况(而不该直接安装更多内存)。一旦服务器用尽了所有物理内存与虚拟内存,那么整套系统的运行将变得极为缓慢,需要经过重启才能暂时恢复正常。

当前磁盘I/O使用情况

注意:这一项对于OpenVZ/Virtuozzo容器不起作用。

以下命令将以每秒一次的频率连续显示十次磁盘使用率统计。请大家关注显示结果中的%util列:

$ iostat -x 110

历史磁盘I/O使用情况

$ sar -d

租用香港服务器过程中一旦出现了负载过高的问题,可以从以上三个项目查看资源使用情况,及时处理。

赞(0)
本文由香港主机评测网原创,未经允许不得转载:香港主机评测网 » Linux香港服务器负载过高问题排查指南