質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

Linux(CentOS)にて、Memoryが何に使われているか不明

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 5,324

score 6

サーバの負荷対策の質問です。

Linux, CentOSを運用しています。(VMware)
数日前にメモリ使用率が上がり、それ以来下がらずに負荷が高いままになっています。
メモリを何に使っているか特定して、対処し、負荷を下げたいです。

サーバ自体は、2年程運用してきたもので、一番最後に再起動したのが50日程前。

以下、ユーザ名やアプリ名は???でマスクしてます。

# cat /etc/redhat-release
CentOS release 6.5 (Final)

# arch
x86_64

#free
             total       used       free     shared    buffers     cached
Mem:      16334148   15682368     651780          0      10168     398956
-/+ buffers/cache:   15273244    1060904
Swap:      8388600     129948    8258652

#top -a   
top - 10:19:14 up 49 days, 11:13,  1 user,  load average: 1.05, 1.05, 1.10
Tasks: 145 total,   1 running, 143 sleeping,   0 stopped,   1 zombie
Cpu(s): 11.1%us, 18.4%sy,  0.0%ni, 69.5%id,  0.8%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:  16334148k total, 15684824k used,   649324k free,     9988k buffers
Swap:  8388600k total,   129948k used,  8258652k free,   387824k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                
17940 ???      20   0 7461m 6.5g 6364 S 16.6 41.5   1113:27 java                                                                                                                    
 4982 ???      20   0  941m 531m 5756 S  2.7  3.3 611:22.48 java                                                                                                                    
 3213 root      20   0 2057m 354m 2084 S 99.8  2.2 988:43.79 python                                                                                                                  
28270 ???      20   0  835m 157m 5464 S  0.0  1.0 106:48.55 java                                                                                                                    
 1648 root      20   0  197m  10m 1452 S  0.0  0.1  42:35.95 python                                                                                                                  
 1200 root      20   0  246m 7452  808 S  0.0  0.0   2:37.42 rsyslogd 

# ps aux --sort rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1200  0.0  0.0 251968  7452 ?        Sl   Sep12   2:37 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root      1648  0.0  0.0 202268 10604 ?        Ss   Sep12  42:36 /usr/lib64/???
???     28270  0.1  0.9 855932 161092 ?       Sl   Sep14 106:49 /usr/java/???
root      3213 96.1  2.0 2107704 332932 ?      Ssl  Oct31 992:25 /usr/lib64/???
???      4982  0.8  3.3 964096 544328 ?       Sl   Sep12 611:25 /usr/java/???
???     17940  6.6 41.5 7649356 6781076 ?     Sl   Oct20 1113:49 /usr/java/???

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0 129880 286480   2736 743288    0    0     1    22    1    1  5  3 90  1  0

# free -m
             total       used       free     shared    buffers     cached
Mem:         15951      15424        526          0          5        261
-/+ buffers/cache:      15157        793
Swap:         8191        500       7691


メモリを使い尽くしてしまっていますが、psやtopで見ても、犯人がいません。
Slabもチェックしましたが、90444 kB程度なので、犯人ではなく。
syslogも漁りましたが、何も出ていません。

何がメモリを食い尽くしているのか、調べる方法など、なにか提案あれば教えて欲しいです。

よろしくお願いします。

追加です
tmpfsのusedは0%です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • TaichiYanagiya

    2017/11/01 16:30

    df で、tmpfs を使っているものはありませんか?

    キャンセル

  • Chima

    2017/11/01 16:41

    tmpfsのusedは0%です。

    キャンセル

  • hy1234

    2017/11/02 11:00

    既にやられているかもしれませんがダメもとでslabキャッシュをクリアしてみるのはどうでしょうか。

    キャンセル

  • hy1234

    2017/11/02 11:10 編集

    ついでですが/tmpの使用状況はどうでしょうか
    すいません。tmpfsについては既に指摘がありました。

    キャンセル

回答 5

check解決した方法

0

アプリケーションの再起動で強制?解決いたしました。
原因は不明のままですが、ひとまず問題自体は消えました。

皆様、ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/02 11:37

    再起動後にjavaのVIRTが解消されているようでしたら
    CentOS6以降に搭載されているglibcの仕様による挙動も影響しているかもしれません。参考までに・・・。
    http://udrepper.livejournal.com/20948.html

    キャンセル

0

topの一番上にいる41.5%つかっているJavaはなになのでしょうか?

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/01 15:29

    これはこのサーバで常に動いているアプリになります。

    キャンセル

  • 2017/11/01 15:42

    CPU負荷96%で動いてるプロセスは何者なんでしょう?

    キャンセル

  • 2017/11/01 16:13

    これは、クライアントのエージェントでホストにheartbeatを返すようなものです。
    昨日からホストから見るとタイムアウトを起こすようになっていたので、昨日再起動したんですが、効果なく、というところです

    キャンセル

0

load averageが低いので、Disk I/Oを減らす目的で内部的にBuffer/Cacheを保有している可能性もありますが、現実として動作が遅くなっているのでしょうか?

私の場合ですと、負荷が高いタイミングでpsおよびtopコマンドからMEM使用率が高いPIDを調べて
順に追っていく対応をとりますが、割りと力技なので人におすすめする方法ではありません。

下記のサイトで丁寧に説明されているので、もしよろしければ参考までに・・・。

http://tweeeety.hateblo.jp/entry/20140130/1391054452

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/01 16:51

    # cat /proc/meminfo
    MemTotal: 16334148 kB
    MemFree: 312792 kB
    Buffers: 2432 kB
    Cached: 707100 kB
    SwapCached: 66496 kB
    Active: 6758140 kB
    Inactive: 1824608 kB
    Active(anon): 6570804 kB
    Inactive(anon): 1327572 kB
    Active(file): 187336 kB
    Inactive(file): 497036 kB
    Unevictable: 0 kB
    Mlocked: 0 kB
    SwapTotal: 8388600 kB
    SwapFree: 8258736 kB
    Dirty: 404 kB
    Writeback: 0 kB
    AnonPages: 7869472 kB
    Mapped: 12940 kB
    Shmem: 25156 kB
    Slab: 95660 kB
    SReclaimable: 32712 kB
    SUnreclaim: 62948 kB
    KernelStack: 6832 kB
    PageTables: 21072 kB
    NFS_Unstable: 0 kB
    Bounce: 0 kB
    WritebackTmp: 0 kB
    CommitLimit: 16555672 kB
    Committed_AS: 8736744 kB
    VmallocTotal: 34359738367 kB
    VmallocUsed: 304868 kB
    VmallocChunk: 34359353700 kB
    HardwareCorrupted: 0 kB
    AnonHugePages: 7424000 kB
    HugePages_Total: 0
    HugePages_Free: 0
    HugePages_Rsvd: 0
    HugePages_Surp: 0
    Hugepagesize: 2048 kB
    DirectMap4k: 10240 kB
    DirectMap2M: 16766976 kB

    キャンセル

  • 2017/11/01 17:13 編集

    ありがとうございます。
    ※すみません、段を見間違えておかしなこと書いてました。

    ページキャッシュ{Active(file)+Inactive(file)}としては大きくないですね・・・
    Anonymousな領域と合算しても8GBほど。
    再起動しても解消していないとのことで・・・例えばテスト環境があれば、同じデータを挿入して、そちらでも同様の現象が発生するのか?など確認できるかもしれませんが、本番環境しかないですかね・・・・?

    キャンセル

  • 2017/11/02 10:52

    クライアントのエージェントの再起動はしましたが、他のアプリの再起動やサーバ自体の再起動はまだです。
    メモリ関連なので、再起動で解決しそうな気配はしているんですが、それをやると全部消えてしまい、原因特定や再発防止ができないので、再起動以外の方法を、、、と考えていました。
    連休中に何かあると辛いので、そろそろ諦めてサーバの再起動を、と思っているところであります。

    キャンセル

0

私の場合、問題ありそうなプロセスそのものもさることながら、それを呼び出したのがどいつなのかを知りたいことが多いので、次のようなaliasを設定しています。

psf='ps -e -o user,ppid,pid,stat,rss,%mem,%cpu,command --forest -w -w '

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/01 16:25

    問題ありそうなプロセスがあれば、それを調べるんですが、いつも動いているプロセスしか見当たらないところに悩んでおります。怪しいプロセスが出てきたら、教えていただいたものを使って見ます。

    キャンセル

0

tmpfsとして使ってないですか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/02 09:44

    別の方からも同じことを聞かれましたので、回答済みですが追記しました。
    使っておりません。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る