- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- HP-UX General
- >
- top,psで表示されるプロセスのサイズ
HP-UX General
1819868
メンバー
2477
オンライン
109607
解決策
フォーラム
カテゴリ
Company
Local Language
戻る
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
戻る
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
ブログ
コミュニティ言語
言語
フォーラム
ブログ
トピックオプション
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-09-2004 12:39 PM
01-09-2004 12:39 PM
top,psで表示されるプロセスのサイズ
topコマンドで表示される"SIZE"とpsコマンドで表示される"sz"はどのような違いがあるのでしょうか。
(表示される値の単位が違うということ以外で)
また、あるプロセスの"sz"の値はほぼ一定だが、"SIZE"の値が増えつづける場合、どのような原因が考えられるでしょうか。
(表示される値の単位が違うということ以外で)
また、あるプロセスの"sz"の値はほぼ一定だが、"SIZE"の値が増えつづける場合、どのような原因が考えられるでしょうか。
1件の返信1
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-09-2004 02:01 PM
01-09-2004 02:01 PM
top,psで表示されるプロセスのサイズ
top の SIZE にあたるのは、ps の vsz になります。
以下の結果からもそれが明らかだと思います。
$top
:
CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
0 ? 13698 root 152 20 62744K 319M run 351:07 6.62 6.61 mxdomainmgr
:
$UNIX95= ps -e -o pid -o comm -o vsz -o sz | grep -e PID -e 13698
PID COMMAND VSZ SZ
13698 mxdomainmgr 62744 14872
vsz は、ps(1) の man にあるように、プロセスのテキスト、データ、およびスタック・スペースの仮想メモリサイズ(Virtual Set Size)の合計になります。したがって、ここには MMAP や SHARED MEMORY などは入っていません。また、sz は、プロセスのテキスト、データ、およびスタック・スペースの物理メモリサイズ(Resident Set Size)で、単位はページです。
top(1) の SIZE は ps(1) の vsz と同じなのですが、RES は違います。物理メモリサイズというのは同じなのですが、ややこしいことに、プロセス全体、つまり、テキスト、データ、スタックに加えて、MMAP、SHARED MEMORY、UAREA、SHARED TEXTを合計したものを示しているようです。
したがって、上記の結果からも明らかですが、ps(1)の sz から得られる値は 14872x4KB=58MB となり、top(1) の RES で示されている 319MB よりも断然小さくなってしまいます。
本来仮想メモリサイズが必ず物理メモリサイズより大きくなり、ps では算出している部分が同じなので vsz >= sz になりますが、top の場合は RES の方が SIZE よりも大きくなることがあります。
sz がほぼ一定で、SIZE が増えつづけるというのは、実メモリ上にはのせられていないが、仮想メモリは確保されているということを示しているます。
例えば、malloc(3C) でメモリを確保すると、確保した分 SIZE(vsz) が増加します。しかし、これだけでは RES(sz) は増えません。malloc(3C) で確保した領域に対してアタッチすると(例えば memset(3C) など)、物理メモリ上にのせられますので、ここで初めて RES や sz が増加します。
どちらにしても SIZE が増えつづけるということは、プロセス側でメモリを確保し続けていることになるので、リークの可能性があるのではないでしょうか?
以下の結果からもそれが明らかだと思います。
$top
:
CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
0 ? 13698 root 152 20 62744K 319M run 351:07 6.62 6.61 mxdomainmgr
:
$UNIX95= ps -e -o pid -o comm -o vsz -o sz | grep -e PID -e 13698
PID COMMAND VSZ SZ
13698 mxdomainmgr 62744 14872
vsz は、ps(1) の man にあるように、プロセスのテキスト、データ、およびスタック・スペースの仮想メモリサイズ(Virtual Set Size)の合計になります。したがって、ここには MMAP や SHARED MEMORY などは入っていません。また、sz は、プロセスのテキスト、データ、およびスタック・スペースの物理メモリサイズ(Resident Set Size)で、単位はページです。
top(1) の SIZE は ps(1) の vsz と同じなのですが、RES は違います。物理メモリサイズというのは同じなのですが、ややこしいことに、プロセス全体、つまり、テキスト、データ、スタックに加えて、MMAP、SHARED MEMORY、UAREA、SHARED TEXTを合計したものを示しているようです。
したがって、上記の結果からも明らかですが、ps(1)の sz から得られる値は 14872x4KB=58MB となり、top(1) の RES で示されている 319MB よりも断然小さくなってしまいます。
本来仮想メモリサイズが必ず物理メモリサイズより大きくなり、ps では算出している部分が同じなので vsz >= sz になりますが、top の場合は RES の方が SIZE よりも大きくなることがあります。
sz がほぼ一定で、SIZE が増えつづけるというのは、実メモリ上にはのせられていないが、仮想メモリは確保されているということを示しているます。
例えば、malloc(3C) でメモリを確保すると、確保した分 SIZE(vsz) が増加します。しかし、これだけでは RES(sz) は増えません。malloc(3C) で確保した領域に対してアタッチすると(例えば memset(3C) など)、物理メモリ上にのせられますので、ここで初めて RES や sz が増加します。
どちらにしても SIZE が増えつづけるということは、プロセス側でメモリを確保し続けていることになるので、リークの可能性があるのではないでしょうか?
上記の意見は、Hewlett Packard Enterpriseではなく、著者の個人的な意見です。 このサイトを使用することで、利用規約と参加規約に同意したことになります 。
企業情報
© Copyright 2025 Hewlett Packard Enterprise Development LP