
私のサーバーのメモリ消費が過去数時間にわたって継続的に増加し始めた理由を理解しようとしています。アプリケーションレベルで原因を見つけようとしましたが、成功しませんでした。そのため、考えられるサーバーの原因を調査する必要があります。私はサーバー管理の専門家ではないので、助けてくれてありがとう。まず、一般的なメモリを消費し、今やスワップ消費も増加しています。
私のサーバーは、カーネル3.10.0-514.26.2.el7.x86_64がインストールされているCentOS 7で実行されています。
解決策
最後に、この問題は最近更新されたサーバーライブラリが原因であることが確認されました。許可された答えは、メモリ使用量のためにストレスを受けたときに問題が発生する前にシステムで行われた変更を追跡することが可能であることを思い出してください。
いくつかのヒントを見つけたのはとても便利でした。すべてのメモリを占有するプロセスを見つける方法は?
この状況で役立つ可能性のある使用したコマンドを以下にリストしました。
ps auwx --rss ソート- メモリ使用量に基づいてソートされたプロセス
ps -fuユーザー名- ユーザーが処理しました
トップ使用/分析によると、私の場合、クローン実行プロセスを使用する静止アプリケーションがたくさんありました。相関が必要なので、PIDとPPIDを出力するようにhtopを設定しました。PPID到着/var/ログ/クローン録音プロセス。
自由-m
total used free shared buff/cache available
Mem: 7565 6525 440 47 599 657
Swap: 8191 2612 5579
猫/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
サーバーの実行方法やメモリ使用量の設定に問題があるかどうかをどうやって確認できますか?
答え1
通常、メモリリークが発生しているかどうかを確認するには、時間の経過とともに情報を収集する必要があります。
簡単な目標の質問は次のとおりです。
1) 最近のシステムにどのような変化がありましたか?
2)何が更新されましたか?
3)これらの変更をメモリリークに関連付ける情報はありますか?
その後、システムで利用可能なプログラムを使用できます。 Centシステムはありませんが、プロセスを実行してメモリをどのくらい使用するかを示すシステムモニタアプリが必要です。コマンドラインでも同じ操作を使用
できます。top
どちらの場合も、これを監視し、何が増加するかを把握する必要があります。
サーバーであり、それを監視するNagiosなどのデバイスがある場合は、さまざまなシステムアプリケーション用のメモリモニタを設定し、アプリケーションのメモリ使用量をマッピングすることができます。
これはすべて非常に一般的ですが、いくつかの方向を提示します。
表示