Ubuntu:無料の-lh出力をトップレベルのコマンド出力に関連付けることはできません。

Ubuntu:無料の-lh出力をトップレベルのコマンド出力に関連付けることはできません。

free -lhコマンドを使用してメモリ使用量を確認していますが、次のような結果が表示されます。

             total       used       free     shared    buffers     cached
Mem:           62G        29G        33G       278M       335M        19G
Low:           62G        29G        33G
High:           0B         0B         0B
-/+ buffers/cache:       9.1G        53G
Swap:          15G         0B        15G

ご覧のとおり、使用されているメモリは29 GB、利用可能なメモリは33 GBですが、topコマンドを使用して同じことを確認すると、次の出力が表示されます。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
23555 glassfi+  20   0 19.896g  5.270g  55092 S   0.0  8.4 121:16.24 java
 2457 hg+       20   0 20.294g  981344  20588 S   0.0  1.5   6:00.18 java
 2615 hg+       20   0 20.294g  950520  20560 S   0.0  1.4   0:22.18 java
 1992 tomcat6   20   0 5783768  518860  20976 S   0.0  0.8   8:05.15 java
.................................................

上記の結果から、glassfishは19GBのRAMを使用し、hg +は20GBのRAMを使用することがわかります。これは39GB以上のRAMが使用されることを意味します。

私の質問は、なぜfree -lhコマンドが29 GBのRAMのみを使用したのかを示すことです。

ベストアンサー1

「VIRT」列は、プロセス内のメモリ量を示します。割り当てられた、実際に使用する量よりも。プロセスは、使用するよりも多くのメモリを割り当てることができます。これは、大きなヒープを割り当てる傾向がありますが、必ずしもすべてを使用するわけではないJavaプロセスの場合に特に当てはまります。 「RES」列には、使用したスペースの量が表示されます。つまり、プロセスで使用されるスペースは5GiB以上glassfishで、それぞれ1GiB未満ですhg

おすすめ記事