centos にはスワップ パーティションが必要です。スワップの正式名称は「スワップ プレイス」で、スワップ領域を意味します。物理メモリが足りないときにデータをスワップに入れるために使用されます。プロセスはスワップ パーティションに入って待機し、新しいプロセスをスワップ パーティションに転送する必要があります。実行するメモリ。そのため、centos ではスワップ パーティショニングが必要です。
この記事の動作環境: centos 7 システム、Dell G3 コンピューター。
centos にはスワップ パーティションが必要です
スワップ パーティション
スワップ パーティションの使用: スワップは、物理メモリが足りないときにデータをスワップに置くため、スワップは仮想メモリの役割を果たし、ある意味メモリ空間を増やすとみなすことができます。
通常、メモリはマシンの物理メモリであり、読み取りおよび書き込み速度は CPU よりも 1 桁遅くなりますが、ディスクよりは 1 桁以上高速です。したがって、プログラムとデータがメモリ内にある場合、読み取りおよび書き込み速度が非常に速くなります。ただし、相対的に価格は下がってきていますが、メモリのコストはディスクのコストよりも高くなります。また、メモリの停電によるデータの消失も、すべてのデータやプログラムをメモリに保存できなくなる原因となります。
すべてのメモリを使用することはできないので、データとプログラムが常にメモリを占有することは絶対に不可能です。使用可能なメモリがない場合、メモリ内で頻繁に実行されないプログラムを追い出す必要があります。しかし、キックがどこに行っても、この時点でスワップが表示されます。スワップの正式名称はswap place、スワップ領域のことで、メモリが足りない場合に追い出されたプロセスを一時的にスワップ領域に格納します。キックアウトされたプロセスが必要な場合は、スワップ領域からメモリに再ロードされます。それ以外の場合は、実メモリにアクティブにスワップされません。
コンピュータはメモリを物理メモリと仮想メモリに分割します (仮想メモリと仮想アドレス空間の違いに注意してください)。物理メモリは、RAM チップで構成されるコンピュータの実際のメモリ サイズです。仮想メモリは仮想化されており、メモリの代わりにディスクを使用します。仮想メモリの登場により、マシンのメモリ不足の問題が部分的に解決されます。プログラムの実行中、オペレーティング システムは、特定の仮想メモリの物理メモリへの置き換えとロードを実行します (ページとセグメントの対応する仮想メモリ管理)。ここでの仮想メモリのことをスワップと呼びます。
ユーザーがプログラムを送信すると、プロセスが生成され、マシン上で実行されます。マシンは現在の物理メモリに空きがあるかどうかを判断し、プロセスをメモリに転送して実行できるようにします。空きがある場合は、メモリに直接転送して実行します。
そうでない場合は、ハングする優先度に従ってプロセスが選択され、そのプロセスはスワップして待機するようにスワップされ、その後、新しいプロセスがメモリにロードされて、走る。このスワップインとスワップアウトにより、メモリの再利用が実現され、ユーザはメモリの限界を感じることがなくなる。
このことからも、swap はスワップアウトされたプロセスを一時的に保存するという非常に重要な役割を果たしていることがわかります。メモリとスワップの間でデータのやり取りはメモリページ単位で行われますが、通常Linuxのページサイズは4kbに設定されています。メモリとディスクはブロック単位でデータを交換します。
スワップ パーティションの追加
dd コマンドを使用して、swapfile という名前のスワップ ファイルを作成します (ファイル名とディレクトリは任意です):
dd if=/dev/zero of=/var/swapfile bs=1024 count=2097152
または
dd if=/dev/zero of=/var/swapfile bs=1024 count=2048k
一般科学: if (入力ファイル)、of (出力ファイル)。 dev/zero は Linux の特殊文字デバイス (入力デバイス) です。一時スワップ ファイルなど、初期化用に指定された長さの空のファイルを作成するために使用できます。このデバイスは 0 を無限に提供し、必要な任意の数を提供できます. . bs=1024: 単位データブロック(block)が同時に読み出し出力するブロックバイトサイズは1KB、bs(つまりブロックサイズ)の1024バイトとなります。 count=2048000: データブロック(ブロック)数は2048000、つまり2048000 1KBです。スワップ パーティションの容量は、1KB *2097152=1KB *1024(k)*1024*2=2097152=2G として計算できます。 (dd コマンドの単位 M は 1024*1024 を意味し、k は 1024 を意味します)。
Enter キーを押した後、2g の読み取りおよび書き込み操作が実行されます。システムは一定時間停止します。実行結果が表示されるまで辛抱強く待ちます。
実行後、スワップ ファイルをフォーマットし、スワップ パーティションに変換します:
mkswap /var/swapfile
パーティションをマウントしてアクティブ化します:
swapon /var/swapfile
上記のコマンドを実行すると、「安全ではありません」と表示される場合があります。権限 0644、0600 と同様のプロンプトを使用することをお勧めします。緊張する必要はありません。実際にアクティブ化されています。プロンプトを無視することも、システムの提案に従って権限を変更することもできます:
chmod -R 0600 /var/swapfile
推奨チュートリアル: 「centos チュートリアル」
以上がCentOSにはスワップパーティションが必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。