Centos5

在正在執行的 Linux 機器上創建交換文件

  • September 16, 2011

我們公司的網站剛剛從共享主機轉移到 VDS,因為託管公司計劃淘汰不太可靠的共享託管伺服器。

VDS 只有 256MB 的 RAM 並託管幾個站點,除了其中一個之外,所有站點都是非常簡單的靜態站點,只有幾頁,每天為少於 20-30 名訪問者提供服務。

我們的主站點執行著某種定製版本的 OSCommerce,流量也很低(很少超過 10 個左右的並髮使用者),但確實需要 MySQL。不幸的是,由於記憶體不足,由於移動 mysqld 不斷崩潰。我已經稍微編輯了 Apache 配置(以減少執行緒數量)以減輕負載,但這只是迴避了真正的問題。

伺服器沒有交換空間,但它的磁碟空間確實比我們需要的多得多,所以我正在考慮使用其中的一些空間進行交換。我知道這對性能沒有幫助,但我們可以忍受。

如何在伺服器執行時創建交換文件並啟用它?作業系統是 CentOS 5.5(最終版),Linux 不是我的母語。

**更新:**對於任何可能想知道結果的人,自從實現了 quanta 描述的交換文件以來,伺服器不僅穩定,沒有更多的 mysqld 崩潰,它實際上比以前更快地提供頁面。性能提升與我的預期相反,但我很高興在這種情況下錯了。

假設您要創建 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

引用自:https://serverfault.com/questions/312057