Linuxでvmstatコマンドを使用すると、仮想メモリの統計情報を報告することができますまた、vmstatコマンドの使用法は数多くあります。あなたが理解を持っているように詳細な紹介。
これは、システム統計の全体的な状況で、欠点は、プロセスの詳細な分析ではありません。 vmstatツールは、システムパフォーマンスを観察するためのオーバーヘッドの少ない方法を提供します。 vmstat自体はオーバーヘッドが少ないツールであるため、非常に高負荷のサーバーではシステムの状態を表示および監視する必要があります。それでもvmstatを使用して結果を制御ウィンドウに出力できます。 vmstatコマンドを学ぶ前に、Linuxシステムの物理メモリと仮想メモリに関する情報を見てみましょう。
物理メモリと仮想メモリの違い:
物理メモリから直接データを読み書きするほうが、ハードディスクからデータを読み書きするよりもはるかに速いことがわかっているので、すべてのデータを読みたいと考えています。そして、書き込みはメモリ内で行われ、メモリは限られているため、物理メモリと仮想メモリの概念につながります。
物理メモリとは、システムハードウェアによって提供されるメモリサイズのことで、実メモリのことですが、物理メモリと比較すると、Linuxの仮想メモリという概念もあります。仮想メモリとして使用されるディスクスペースはスワップスペースと呼ばれます。
物理メモリの拡張として、Linuxは物理メモリが足りないときにスワップパーティションの仮想メモリを使用します、より詳細には、カーネルは未使用のメモリブロック情報をスワップ空間に書き込みます。元のコンテンツが必要になると、情報はスワップ領域から物理メモリに読み戻されます。
Linuxのメモリ管理ではページングアクセスメカニズムを採用しており、物理メモリを十分に活用できるように、カーネルは物理メモリで頻繁に使用されないデータブロックを適切なタイミングで自動的に仮想メモリに交換します。頻繁に使用される情報を物理メモリに保持しながら。
Linuxのメモリ操作メカニズムを理解するには、次の点に注意する必要があります。
まず、Linuxシステムはできるだけ多くの空き物理を保持するためにページスワップ操作を実行します。メモリ、メモリを必要とするものがなくても、Linuxは一時的に使用されていないメモリページをスワップアウトします。これは交換を待つのに必要な時間を避けます。
次に、Linuxのページ交換は条件付きで、使用していないときにすべてのページが仮想メモリに交換されるわけではありませんLinuxカーネルは、最も頻繁に使用されるアルゴリズムに基づいています。仮想メモリへのファイル交換、時々私達はそのような現象を見るでしょう:Linuxの物理メモリはまだたくさんありますが、スワップ空間もたくさん使われます。たとえば、大量のメモリを占有するプロセスが実行されると、大量のメモリリソースが使用され、使用できないページファイルの中には仮想メモリにスワップされるものもありますが、後で大量のメモリリソースを使用します。プロセスが終了して大量のメモリが解放されても、スワップアウトされたばかりのページファイルは自動的には物理メモリにスワップされませんこれが必要でない限り、システムの物理メモリは現時点ではあまりアイドル状態になります。今述べた現象が現れました。これについて心配しないで、それがすべてについてのものであることを知ってください。
最後に、スワップスペースのページは、使用時に最初に物理メモリに交換されますが、これらのページを収容するのに十分な物理メモリがない場合は、すぐにスワップアウトされます。これらの交換ページを格納するのに十分なスペースがない可能性があり、その結果、Linuxでの偽のクラッシュやサービスの例外などの問題が発生する可能性があります。
したがって、Linuxメモリの使用を合理的に計画し設計することが非常に重要です。
仮想メモリの原則:
システム内で実行されているすべてのプロセスがメモリを使用する必要がありますが、すべてのプロセスが常にシステムに割り当てられたメモリを使用する必要はありません。システムが実際の物理メモリよりも多くのメモリを必要とする場合、カーネルはいくつかのプロセスによって占有されている物理メモリの一部または全部を解放し、プロセスの次の呼び出しまでデータのこの部分をディスクに格納し、メモリは解放されます。それを必要とするプロセスに提供されます。
Linuxのメモリ管理では、上記のメモリスケジューリングは主に「ページングページング」と「交換スワッピング」を介して行われます。ページングアルゴリズムは、メモリ内で最近使用頻度の低いページをディスクに置き換え、アクティブページをメモリ内に保持してプロセスで使用できるようにします。スイッチングテクノロジは、ページの一部ではなく、プロセス全体をディスクに交換することです。
ディスクへの書き込み処理はページアウトと呼ばれ、ディスクからディスクへのページバック処理はページインと呼ばれます。カーネルがページを必要としていても、そのページが物理メモリ内にないことが判明した場合(ページアウトされているため)、ページフォルトが発生します。
システムカーネルは、実行中のメモリが少ないことを検出すると、Page-Outを通じて物理メモリの一部を解放します。ページアウトの管理は頻繁には発生しませんが、ページアウトが頻繁に発生すると、カーネルがページングを管理する時間がプログラムの実行時間を超えるまで、システムパフォーマンスは劇的に低下します。この時点では、システムは非常に低速で動作しているか、一時停止状態になっています。この状態はスラッシングとも呼ばれます。
1。コマンドの形式:
コードは次のとおりです。
vmstat [-a] [-n] [-S単位] [delay [count]]
vmstat [-s] [ -n] [-S unit]
vmstat [-m] [-n] [delay [count]]
vmstat [-d] [-n] [delay [count]]
vmstat [-pディスクパーティション] [-n] [遅延[数]]
vmstat [-f]
vmstat [-V]
仮想メモリの表示に使用される情報
3。コマンドパラメータ:
-a:アクティブメモリと非アクティブメモリを表示します。
-f:システム起動後のフォーク数を表示します。
-m:slabinfoを表示します。
-n:各フィールドの名前を先頭にのみ表示します。
-s:メモリ関連の統計とさまざまなシステムアクティビティの数を表示します。
delay:更新間隔指定しない場合は、結果が1つだけ表示されます。
count:更新数。リフレッシュ数を指定せずにリフレッシュ間隔を指定した場合、リフレッシュ数は無限になります。
-d:ディスク関連の統計情報を表示します。
-p:指定したディスクパーティションの統計情報を表示します。
-S:指定した単位で表示します。パラメーターは、それぞれ1000、1024、1000000、および1048576バイトを表すk、K、m、およびMです。デフォルトの単位はK(1024バイト)です。
-V:vmstatのバージョン情報を表示します。
4。例:
インスタンス1:仮想メモリ使用量の表示
コマンド:vmstat
出力:
コードは次のとおりです。
[ Root @ localhost〜]#vmstat 5 6
procs ----------- memory ---------- --- swap-- ----- io ---- - system-- ----- cpu ------
rb swpdフリーバッファキャッシュsi so bi bo in cs us sy id wast
0 0 0 3029876 199616 690980 0 0 0 2 3 2 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 41 1009 39 0 0 100 0 0
0 0 3029752 199616 690980 0 0 0 3 1004 36 0 0 100 0 0
0 0 3029752 199616 690980 0 0 0 4 1004 36 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 6 1003 33 0 0 100 0 0
0 0 0 30 30752 199616 690980 0 0 0 5 1003 33 0 0 100 0 0
vmstatコマンドの出力詳細:
フィールドの説明:
Procs(process):
r:実行キュー内のプロセス数
b:IOを待っているプロセス数
メモリメモリ):
swpd:仮想メモリサイズを使う
空き領域:利用可能なメモリサイズ
buff:バッファとして使われるメモリサイズ
キャッシュ:キャッシュメモリサイズ
スワップ:
si:1秒間にスワップ領域からメモリに書き込まれたサイズ
そう:1秒間にスワップ領域に書き込まれたメモリサイズ
IO:(現在のLinuxバージョンのブロックサイズは1024バイトです)
bi:1秒間に読み取られるブロック数
bo:1秒間に書き込まれるブロック数
System:
in:クロック割り込みを含む1秒あたりの割り込み数。
cs:1秒あたりのコンテキスト切り替え数。
CPU(パーセント):
us:ユーザープロセスの実行時間(ユーザー時間)
sy:システムプロセスの実行時間(システム時間)
id:空き時間(IO待ち時間を含む)、CPUのアイドル時間。パーセントで表します。
wa:IO時間を待っています
注意:rが4より大きく、idが40より小さい場合、CPUの負荷は大きくなります。 pi、poが長時間0に等しくない場合、メモリが足りないことを意味します。 diskが0に等しくないことが多く、bのキューが3より大きい場合は、ioのパフォーマンスが良くないことを意味します。安定性と信頼性が高いため、Linuxは優れたスケーラビリティとスケーラビリティを備えており、さまざまなアプリケーションやハードウェア環境に適応して、現在のアプリケーションに最適なパフォーマンスを実現できます。したがって、Linuxシステムの保守およびシステムの調整を行う際には、企業がシステムパフォーマンス分析ツールを理解することが非常に重要です。
コマンド:vmstat 5 5
は5秒間に5サンプルを意味します。彼が実際のシステム状況を反映することができるデータの要約を得るでしょう。
前1234次のページ合計4ページ
Linuxシステムでは、envコマンドはBash環境変数を削除またはアンインストールせずに一時的に消去します。もちろん、LinuxのBashコマンドはenvだけではありません。この記事では、LinuxがどのようにBash環境変数をクリアするためにこのコマンドを使用するかを紹介します。
現在の環境を表示するには?
端末アプリケーションを開き、次のいずれ
Wc -l#または 出力例: 1.20 クリーンなbash /ksh /zsh環境でプログラムを実行する 構文は次のとおりです。 : 1.env -i your-program-name-he
Linuxシステムの起動が非常に速いことを私たち全員が知っているので、Linuxシステムはブートプロセス中にどのようなコンテンツをロードするのでしょうか。次の小シリー
Linuxを使ったサーバーは完全なPHP環境を構築しているので、自動化されたタスクを実行するスクリプトを書くためにPHPを使う人もいるでしょう。トラブル実際、私たちは
Technologeeko selinuxはLinux用のセキュリティサブシステムです必須アクセス制御セキュリティモジュールですselinuxセキュリティサブシステム