web-dev-qa-db-ja.com

実行中のLinuxマシンでスワップファイルを作成する

ホスティング会社が完全に信頼性の低い共有ホスティングサーバーを廃止することを計画しているため、当社のWebサイトは共有ホストからVDSに移動されました。

VDSには256MBのRAMのみがあり、いくつかのサイトをホストします。そのうちの1つを除くすべては、数ページの非常に単純な静的サイトであり、合わせて1日あたり20〜30人未満の訪問者にサービスを提供します。

OSCommerceの多少カスタマイズされたバージョンを実行するプライマリサイトもトラフィックが少ないですが(同時ユーザーが10人を超えることはめったにありません)、MySQLが必要です。残念ながら、移動mysqldはメモリ不足のためにクラッシュし続けます。負荷を軽減するために(スレッドの数を減らすために)Apache構成を少し編集しましたが、それは実際の問題を回避するだけです。

サーバーにはスワップスペースがありませんが、必要以上のディスクスペースがあるので、そのスペースの一部をスワップに使用することを考えています。それがパフォーマンスに正確に役立つわけではないことは知っていますが、私たちはそれで生きることができます。

サーバーの実行中にスワップファイルを作成して有効にするにはどうすればよいですか? OSはCentOS5.5(最終版)であり、Linuxは私の母国語ではありません。

更新:結果について疑問に思う人のために、quantaで説明されているようにスワップファイルを実装すると、サーバーは安定しているだけでなく、mysqldのクラッシュも発生しないため、実際にはより高速にページを提供しています。以前はそうしました。パフォーマンスの向上は私が期待したものとは逆ですが、この場合は間違っていることを嬉しく思います。

8
John Gardeniers

512MBのスワップファイルを作成するとします。

# dd if=/dev/zero of=/swapfile bs=1024 count=524288

スワップ領域を次のように設定します。

# mkswap /swapfile

それをアクティブにします:

# swapon /swapfile

永続的に/etc/fstabに追加:

echo -e "/swapfile\t\tswap\t\tswap\t\tdefaults\t0 0" >> /etc/fstab

free -mで確認します。

15
quanta