centos – Flush-0:n进程导致巨大的瓶颈

我有一个通过NFS共享文件的LAMP集群,偶尔会有一个人在神秘的刷新进程开始出现时会受到影响.

谁能帮我?解决此问题的唯一方法是重新启动 – 终止进程只会生成新的进程.

top - 19:43:43 up 104 days,4:52,1 user,load average: 27.15,56.72,33.31
Tasks: 301 total,9 running,292 sleeping,0 stopped,0 zombie
cpu(s): 15.6%us,77.0%sy,0.0%ni,4.2%id,2.0%wa,0.0%hi,1.2%si,0.0%st
Mem:   8049708k total,7060492k used,989216k free,157156k buffers
Swap:  4194296k total,483228k used,3711068k free,928768k cached

PID USER      PR  NI  VIRT  RES  SHR S %cpu %MEM    TIME+  COMMAND                                                                                                           
840 root      20   0     0    0    0 R 98.0  0.0   6:45.83 flush-0:24                                                                                                        
843 root      20   0     0    0    0 R 97.6  0.0   5:50.32 flush-0:25                                                                                                        
835 root      20   0     0    0    0 R 96.0  0.0   6:42.44 flush-0:22                                                                                                        
836 root      20   0     0    0    0 R 95.0  0.0   6:51.56 flush-0:27                                                                                                        
833 root      20   0     0    0    0 R 94.3  0.0   6:27.21 flush-0:23                                                                                                        
841 root      20   0     0    0    0 R 93.7  0.0   6:46.97 flush-0:26                                                                                                        
2305 apache    20   0  772m  31m  25m S 23.6  0.4   0:07.60 httpd                                                                                                             
2298 apache    20   0  772m  31m  25m S 13.6  0.4   0:08.98 httpd                                                                                                             
26771 apache    20   0  775m  47m  41m S 10.3  0.6   4:07.97 httpd                                                                                                             
2315 apache    20   0  770m  29m  25m S  9.0  0.4   0:07.44 httpd                                                                                                             
24370 memcache  20   0  457m 123m  608 S  8.6  1.6  66:20.28 memcached                                                                                                         
1191 apache    20   0  770m  30m  26m S  8.3  0.4   0:13.54 httpd                                                                                                             
2253 apache    20   0  771m  32m  27m S  8.3  0.4   0:11.75 httpd                                                                                                             
3476 varnish   20   0 52.9g 2.0g  20m S  8.0 25.6   0:15.30 varnishd                                                                                                          
17234 apache    20   0  775m  50m  45m S  7.0  0.6   9:22.09 httpd                                                                                                             
23161 apache    20   0  780m  54m  43m S  7.0  0.7   6:33.40 httpd

谢谢

您的系统因磁盘写入请求而过载,您的配置“脏比”对您的环境来说并不是最佳选择.

您可以为虚拟内存设置两个管理参数:

这些是/ proc / sys / vm /中可以找到的dirty_background_ratio和dirty_ratio

这些参数代表内存的百分比.

如果为dirty_ratio设置较低的值可以获得更多的磁盘负载,但会减少脏内存管理的RAM消耗.

dirty_background_ratio是最小剩余内存百分比,导致从系统中写入磁盘中的脏数据停止.

这意味着您必须在写入(刷新进程)的脏块维度和系统将在写入过程中停止的最小内存之间找到最佳折衷方案.

良好表现的关系可能是:

dirty_ratio 90%
dirty_background_ratio 5%

平均比例:

dirty_ratio 40~50%
dirty_background_ratio 10~20%

系统中这种不平衡的原因可能有几种,其中最常见的原因是管理安装的RAM量不足
其他时候,可能只是由于服务器上安装的内存性能下降,原因包括通风不良和喂食不正确.

尽管大多数问题都是以软件错误的形式出现,但许多错误并不知道这些错误是由于与安装的服务相关的硬件配置不当造成的.特别是在租用机器的情况下.

为了帮助那些不太熟悉Linux机器的人,可以用这种方式替换上面提到的参数:

永久模式:
(仅运行这两个命令,否则使用您喜欢的编辑器编辑此文件)

# echo "vm.dirty_ratio = 40" >> /etc/sysctl.conf
# echo "vm.dirty_background_ratio = 10" >> /etc/sysctl.conf

时间模式:

# echo "40" > /proc/sys/vm/dirty_ratio
# echo "10" > /proc/sys/vm/dirty_background_ratio

您可以在this link找到有关这些设置的更多信息

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native