毎週金曜日の22:00頃から、サーバーは大量のキャッシュの使用を開始し、約2時間後に停止します。下記のサボテングラフをご覧ください。
https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py で大量のメモリを使用するハンティングプロセスを試しましたが、表示されるのは次のとおりです。
_...
438.0 MiB + 1.1 MiB = 439.1 MiB XXXEngine XXX 961f4dbc-3b01-0000-0080-ff115176831d xxx
520.2 MiB + 1.7 MiB = 521.9 MiB XXXEngine XXX f2ac330c-3a01-0000-0080-a2adb5561889 xxx
10.4 GiB + 829.0 KiB = 10.4 GiB Java -server -Xms1G -Xmx5G -Djava.net.preferIPv4Stack=true -cp ../lib/hazelcast-3.2.2.jar:../lib/xxx.cache.jar com.hazelcast.examples.StartServer (2)
---------------------------------
28.1 GiB
=================================
_
これは100Gのキャッシュに近いものではなく、LinuxがディスクI/Oのキャッシュにそれだけのメモリを使用している可能性があると考えていたため、atop
を使用して測定しました。これは、atop -r atop-20140919-230002-062979000.bin -d -D (-c)
を実行したときに得られるものです。
_ PID TID RDDSK WRDSK WCANCL DSK CMD 1/405
1 - 907.9G 17.0T 2.8T 97% init
6513 - 175.1G 46.1G 5.9G 1% crond
8842 - 8K 110.3G 128K 1% xxxzmuc0
6296 - 6.5G 25.1G 15.9G 0% sshd
4463 - 4668K 23.2G 0K 0% kjournald
19681 - 1835K 22.5G 22.4G 0% xxxtroker
4469 - 4728K 15.2G 0K 0% kjournald
4475 - 4716K 14.9G 0K 0% kjournald
2401 - 588K 11.4G 0K 0% kjournald
8652 - 7.0G 2.6G 1.3G 0% k6gagent
26093 - 9.5G 0K 0K 0% bpbkar
...
_
そしてatop
オプション__-c
_を付けます。
_ PID TID S DSK COMMAND-LINE (horizontal scroll with <- and -> keys) 1/405
1 - S 97% init [3]
6513 - S 1% crond
8842 - S 1% xxzmuc0 -m XXX
6296 - S 0% /usr/sbin/sshd
4463 - S 0% kjournald
19681 - S 0% xxxtroker XXX
4469 - S 0% kjournald
4475 - S 0% kjournald
2401 - S 0% kjournald
8652 - S 0% /opt/IBM/ITM/lx8266/6g/bin/k6gagent
26093 - S 0% bpbkar -r 2678400 -ru root -dt 0 -to 0 -clnt ...
...
_
つまり、init
が17テラバイトのデータをディスクに書き込んだことがわかります。しかし、私はこれを引き起こしている原因を見つける方法がわかりません。 Linuxはディスク操作を高速化するためにキャッシュを使用していますが、プロセスがそれを必要としているときにキャッシュを返し、キャッシュを使用してサーバーを強制終了することはできないと私は考えました。
「RedHatEnterprise Linux Serverリリース5.5(Tikanga)」Linux delirium 2.6.18-194.26.1.el5#1 SMP Fri Oct 29 14:21:16 EDT 2010 x86_64 x86_64 x86_64 GNU/Linuxを使用しています。
何が悪いのかを見つけるために(次は)何をすべきですか?
Bpbkarもアクティブであることがわかります。そのプロセスを確認します。これはSymantecNetBackupの一部です。問題が発生したときにバックアップが実行されているかどうかを確認してください。それを無効にして、バックアップがスケジュールされていないときに問題が再び発生するかどうかを確認します。
Bpbkarが有罪のプロセスである場合は、完全なログオンを有効にして、この問題の原因を特定する必要があります。彼らは常に大きな問題のリストを解決するので、最新の更新がインストールされていることを確認してください。
Slabtopユーティリティを確認してください。また、その時間枠の前後にシステムでスケジュールされたI/O集約型のcronジョブではないことを確認しましたか(つまり、mlocate/updatedb ..)?
slabtop --sort=c