Linux では、vsz は、プロセスが所有する仮想アドレス空間のサイズを表す仮想メモリ サイズを指します。このアドレス空間は、実際に割り当てられた物理メモリまたはスワップ領域になります。 SZ サイズは通常、プロセスが使用しているメモリ量を正確に測定するものではなく、プロセスがすべての関数とライブラリを物理メモリにロードする際に使用できるメモリの最大量を示します。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
ps コマンドは、Linux システムのデフォルトのコマンド ライン ツールで、これを使用すると、実行中のプロセスについての洞察を得ることができます。これにより、PID (プロセス ID)、TTY、コマンドを実行したユーザーやプログラムを実行したユーザーなど、これらのプロセスに関する多くの役立つ情報が得られます。
ps コマンドの出力には、あまり説明されていない 2 つのフィールド列があります。それは、VSZ (仮想メモリ サイズ) 列と RSS (常駐セット サイズ) 列です。どちらの列にも、プロセスが使用しているメモリ量に関する情報が表示されます。
以下のスクリーンショットに示すように、VSZ 列と RSS 列が ps コマンド ラインの出力に表示されます。値は、システム上で実行されている各プロセスの kb 単位です。
VSZ は仮想メモリ サイズです。これは Linux によってプロセスに与えられるメモリ サイズです。つまり、VSZ は仮想アドレス空間を表しますこのアドレス空間のサイズは、実際に割り当てられた物理メモリまたはスワップ空間になります。ただし、これは必ずしもプロセスがすべてのメモリを使用することを意味するわけではありません。たとえば、多くのアプリケーションには特定のタスクを実行する機能がありますが、必要になるまでそれらのタスクをメモリにロードしないことがあります。 Linux は、アプリケーションがページを使用しようとしたときにのみページをメモリにロードするデマンド ページングを利用します。
表示される VSZ サイズにはこれらすべてのページが考慮されていますが、それはそれらのページが物理メモリにロードされたことを意味するものではありません。したがって、VSZ サイズは通常、プロセスが使用しているメモリの量を正確に測定するものではなく、プロセスがすべての関数とライブラリを物理メモリにロードする際に使用できるメモリの最大量を示します。
RSS は常駐セット サイズ (常駐セット サイズ) で、現在すべてのページをロードしているプロセスのメモリ サイズです。一見すると、RSS 数値はシステム プロセスによって使用される実際の物理メモリの量のように見えます。ただし、各プロセスの共有ライブラリもカウントされるため、報告される物理メモリ使用量の精度は低くなります。
これが例です。 Linux システム上に 2 つの画像編集プログラムがある場合、それらはおそらく同じ画像処理ライブラリを多く使用していると思われます。これらのアプリケーションのいずれかを開くと、必要なライブラリが RAM にロードされます。 2 番目のアプリケーションを開くと、ライブラリのコピーが RAM に再ロードされることが回避され、最初のアプリケーションで使用されたものと同じコピーが共有されます。どちらのアプリケーションでも、共有ライブラリが 1 回しかロードされない場合でも、RSS 列は共有ライブラリのサイズを計算します。これは、RSS サイズがプロセスによって実際に使用される物理メモリの量を多くの場合過大評価することを意味します。
Linux システムでメモリ使用量を監視しようとしている場合は、RSS や VSZ の数値よりも正確な方法があります。これらの方法は、特定の目的に便利です。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinux vszとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。