web-dev-qa-db-ja.com

Flush-0:nプロセスが大規模なボトルネックを引き起こしている

NFSを介してファイルを共有するLAMPクラスターがありますが、不思議なフラッシュプロセスが表示され始めると、そのうちの1つがしばらくの間打たれることがあります。

誰か助けてもらえますか?これを解決する唯一の方法は、再起動することです。プロセスを強制終了すると、新しいプロセスのみが生成されます。

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

ありがとう

6
Tom

システムがディスク書き込み要求で過負荷になり、構成 "ダーティ比"が環境に最適ではありません。

仮想メモリの2つの管理パラメータを設定できます。

これらは、dirty_background_ratioにあるdirty_ratioおよび/proc/sys/vm/に配置可能です。

これらのパラメータは、メモリの割合を表します。

dirty_ratioに低い値を設定すると、より多くのディスク負荷を得ることができますが、ダーティメモリ管理のためのRAM)の消費を削減します。

dirty_background_ratioは、システムからディスクへのダーティデータの書き込みを停止させた、最小の残存メモリの割合です。つまり、ダーティチャンクディメンション間の最適な妥協点を見つけて書き込む必要があります。 (洗浄工程) 書き込みプロセスでシステムが停止する最小メモリ。

優れたパフォーマンスの関係は次のとおりです。

dirty_ratio 90%
dirty_background_ratio 5%

平均比率:

dirty_ratio 40~50%
dirty_background_ratio 10~20%

システムでのこの不均衡の原因はいくつかありますが、最も一般的な原因は、RAMのインストールが不十分な場合です)メモリのパフォーマンスの低下が原因である可能性があります。サーバーにインストールされており、換気不良から誤った給餌までさまざまな原因が考えられます。

問題のほとんどはソフトウェアのバグの形で発生しますが、これらのエラーの多くには知られていないのは、インストールされているサービスに関連するハードウェアの構成が不十分なためです。特にレンタル機の場合。


Linuxマシンにあまり慣れていない人を助けるために、上記のパラメーターを次のように置き換えることができます。

永久モード:
(これらの2つのコマンドを1回だけ実行します。それ以外の場合は、このファイルをお気に入りのエディターで編集します)

# 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

これらの設定の詳細については、 このリンク を参照してください。

9
RTOSkit

私は同様の議論で次のリンクを見つけました:

05972:稼働率と稼働時間に誤った負荷平均値が表示される-CentOSバグトラッカー

ついにそれは言う:

The high load average issue is resolved in a newer version of the hpvsa driver (1.2.4-7) that is now released by HP. Contact HP Support to obtain a copy of the new driver.

1
alexus

ありますか EnableMMAP Off Apache構成ファイルにありますか?

NFSマウントファイルシステムにあるファイルをメモリマップし、別のNFSクライアントマシンのプロセスがファイルを削除または切り捨てた場合、次にマップされたファイルコンテンツにアクセスしようとすると、プロセスでバスエラーが発生する可能性があります。

これらの要素のいずれかが適用されるインストールでは、EnableMMAPをオフにして、配信されたファイルのメモリマッピングを無効にする必要があります。

これらが症状かどうかはわかりませんが、試してみる価値はあります

0
klocek

Ext4ファイルシステムがある場合は、このバグを確認してください ext4パーティションへの書き込みが遅い-INFO:task flush-253:7:2137が120秒を超えてブロックされています。 最近のカーネルで修正されています RHSA-2011-15 もちろん、Centosから入手することもできます。

0
ramruma