Linux スワップ領域の使用量は公開されていません。

Linux スワップ領域の使用量は公開されていません。

マイシステム(RHEL6)の1つに対して、スワップスペース使用率が高いという警告が表示されます。

VMを見た後、実際にはスワップが完全に利用され、利用可能な物理メモリが十分であることがわかります。たとえば、次のようになります。

[root@xxxxxxxxxx ~]# free -h
             total       used       free     shared    buffers     cached
Mem:           11G       5.3G       6.3G       2.6M       196M       560M
-/+ buffers/cache:       4.6G       7.0G
Swap:         4.0G       4.0G        21M

だから私の質問は次のようになります

これは、ある時点でシステムに物理メモリが不足し、4Gbの追加SWAPを「使用しなければならなかった」という意味ですか?その後、メモリは解放されますが、スワップ領域は依然として高いです。

それでは、スワップを「空にする」方法はありますか?

実行時トップマシンでスワップ使用量に基づいてフィルタリングすると、スワップを使用するいくつかのプロセスが表示されます(特に上部のjava)。2.7グラム)

top - 14:57:06 up 72 days, 19:54,  4 users,  load average: 0.06, 0.02, 0.00
Tasks: 201 total,   1 running, 200 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.2%us,  0.9%sy,  0.0%ni, 97.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  12197860k total,  5598708k used,  6599152k free,   201704k buffers
Swap:  4193276k total,  4170820k used,    22456k free,   573636k cached

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP COMMAND
   9180 pcmc03    20   0 7428m 980m 9208 S  0.3  8.2 797:35.54 2.7g java
   9474 pcmc03    20   0 3409m 999m 9.8m S  0.0  8.4 492:09.57 513m pmrepagent
   9455 pcmc03    20   0 2702m 1.5g 3712 S  0.0 13.0  29:42.06 297m pmrepagent
   9383 pcmc03    20   0 4362m 229m 1568 S  0.3  1.9 159:45.77 213m java
   9494 pcmc03    20   0 2705m 108m  10m S  0.3  0.9 183:49.58  61m pmserver
   7371 root      20   0  231m  69m 2104 S  0.0  0.6 360:27.50  60m prismd.pl
   1730 root      20   0  117m  44m  920 S  0.0  0.4  33:45.09  46m rootmon

これは、このJavaプロセスがある時点で2.7gのスワップスペースを使用し、それを予約されたままにする必要があることを意味しますか?それでは、将来の同様の状況を避けるために、このシステムに追加のメモリが必要になる可能性があると思いますか?

仮想マシンの状態si/so は表示されません。

非常にありがとう

ベストアンサー1

はい、記憶が足りないようです。いいえ、スワップから解放しようとしないでください。これによりRAMに入ります。ただし、どのプロセスがメモリを無駄にしているかを調べて、そのプロセスが存在する必要があるかどうか尋ねるのは価値があるかもしれません。

おすすめ記事