web-dev-qa-db-ja.com

メモリを消費するものをトラブルシューティングする方法は?

過去数時間にサーバーでメモリ消費が常に増加し始めた理由を理解しようとしています。アプリケーションレベルで原因を見つけようとしましたが、成功しませんでした。これが、サーバーの考えられる原因を調査する理由です。私はサーバー管理のプロではないので、どんな助けでもありがたいです。最初の一般的なメモリが消費されましたが、現在、スワップの消費量も常に増加しています。

私のサーバーは、カーネル3.10.0-514.26.2.el7.x86_64を備えたCentOS 7で実行されます

[〜#〜]ソリューション[〜#〜]
最後に、問題は最近更新されたサーバーライブラリが原因であることが確認されました。受け入れられた回答は、メモリ使用量にストレスがかかっている状況で、問題が発生する前にシステムで変更された内容を追跡するのに適しています。

私が探していて非常に有用であるとわかったいくつかのヒントは すべてのメモリを使用しているプロセスを見つける方法? で説明されています。

私が使用したコマンドを以下にリストしており、そのような状況で役立つ場合があります。

ps auwx --sort rss-メモリ使用量でソートされたプロセス

ps -fu username-ユーザーによる処理

htop使用状況/分析では、多くのハングしたアプリケーションのcron起動プロセスが私の場合に表示されました。 PIDとPPIDの両方を出力するようにhtopを構成しました。これは、[〜#〜] ppid [〜#〜]/ var/log/cronログに記録されたプロセス。

無料-m

    total        used        free      shared  buff/cache   available
Mem: 7565        6525         440          47         599         657
Swap: 8191        2612        5579

cat/proc/meminfo

MemTotal:        7747260 kB
MemFree:          253960 kB
MemAvailable:     498904 kB
Buffers:            6160 kB
Cached:           189076 kB
SwapCached:       467788 kB
Active:          5572588 kB
Inactive:        1258540 kB
Active(anon):    5498664 kB
Inactive(anon):  1185908 kB
Active(file):      73924 kB
Inactive(file):    72632 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       8388604 kB
SwapFree:        5686452 kB
Dirty:               104 kB
Writeback:             0 kB
AnonPages:       6168400 kB
Mapped:            68668 kB
Shmem:             48676 kB
Slab:             456672 kB
SReclaimable:     389064 kB
SUnreclaim:        67608 kB
KernelStack:        7232 kB
PageTables:       106848 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    12262232 kB
Committed_AS:   10244216 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       26276 kB
VmallocChunk:   34359705340 kB
HardwareCorrupted:     0 kB
AnonHugePages:   5191680 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       83968 kB
DirectMap2M:     8300544 kB

サーバーがどのように機能しているのか、またはメモリ使用量に関して構成されているのかに問題がないかどうかを確認する方法

2
Y. E.

一般に、何がメモリリークを起こしているかを確認するには、時間をかけて情報を収集する必要があります。
簡単なターゲット質問は次のとおりです。

1)システムに最近加えられた変更は何ですか?

2)何が更新されましたか?

3)これらの変更をメモリリークに結びつける情報はありますか?.

その後、システムで使用可能なプログラムを使用できます。 Centシステムはありませんが、実行中のプロセスが使用しているメモリの量を示すシステムモニターアプリが必要です。
topは、コマンドラインで同じものに使用できます。どちらの場合も、それらを監視し、成長しているものを認識する必要があります。

それがサーバーであり、Nagiosのようにそれを監視している場合、さまざまなシステムアプリ用にメモリモニターを設定して、アプリのメモリ使用量をマッピングすることができます。

これはすべて非常に一般的なものですが、いくつかの方向性を示しています。

マーク

0
Mark