CentOS7設定分頁檔

來源:互聯網
上載者:User

CentOS7設定分頁檔
問題來源

想在買的VPS上搭點部落格服務,偏愛於動態部落格之類的,選用了nodejs,範圍一下就減小了,一開始看中了N-blog。需要安裝bower,如果在安裝的時候,一直提示npm版本問題:

npm WARN deprecated This version of npm lacks support for important features,npm WARN deprecated such as scoped packages, offered by the primary npmnpm WARN deprecated registry. Consider upgrading to at least npm@2, if not thenpm WARN deprecated latest stable version. To upgrade to npm@2, run:npm WARN deprecated npm WARN deprecated   npm -g install npm@latest-2npm WARN deprecated npm WARN deprecated To upgrade to the latest stable version, run:npm WARN deprecated npm WARN deprecated   npm -g install npm@latestnpm WARN deprecated npm WARN deprecated (Depending on how Node.js was installed on your system, younpm WARN deprecated may need to prefix the preceding commands with `sudo`, or ifnpm WARN deprecated on Windows, run them from an Administrator prompt.)npm WARN deprecated npm WARN deprecated If you're running the version of npm bundled withnpm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTSnpm WARN deprecated will be bundled with a version of npm@2, which has some smallnpm WARN deprecated backwards-incompatible changes made to `npm run-script` andnpm WARN deprecated semver behavior.

提示其實很清楚,是說npm版本太低,有一些特性不支援。參照提示,執行

npm -g install npm@latest

同樣先出現一屏提示,畢竟npm在這個時刻還沒有升級,等了幾十秒鐘後,出現了如下

......以上省略npm WARN deprecated backwards-incompatible changes made to `npm run-script` andnpm WARN deprecated semver behavior.Killed

如果不細心,就發現莫名其妙的結束了,而npm也沒有更新。仔細看,會發現最後一行出現一個Killed提示。 到網上一搜,可以發現,這個是因為記憶體不夠,伺服器記憶體不夠,於是程式就直接結束了。其實如果VPS記憶體較小的話,不僅在安裝nodejs庫的時候會出現問題,直接使用yum安裝包的時候,也會提示Cannot allocate memory的Error。

Solution升級VPS配置

最簡單的辦法當然是升級VPS配置了,這個去網頁上點點按鈕就可以,只要掏錢就行。 對個人玩家而言,不過是用VPS上搭點個人網站、折騰點小玩意,沒多大流量,往往不需要太好的配置。於是,就採用下面一個辦法了,增加分頁檔。

SWAP FILE

我們平時聽得更多的可能是交換分區,就是直接在硬碟上單獨分一個區來當作交換空間使用。如果是在系統已經安裝好後,不方便建立分區,可以使用檔案來替代。 交換空間實質就是硬碟,在系統中用作記憶體的一個較大的緩衝,作業系統記憶體不夠用的時候,會把一些不常用的頁替換到交換空間裡面。所以,交換空間會改善一些系統的效能。 但交換空間不是越大越好,因為應用程式如果剛好用到了交換空間的資料,這個時候會有一個比較大的延遲,太大的交換分區會導致大量的應用程式高延遲的情況出現。所以,如果程式有大記憶體需求,最好的辦法還是增加實體記憶體。買記憶體才是王道,交換空間只是一個稍微改善效能的途徑而已。

CentOS7設定分頁檔檢查系統條件

首先,檢查系統是否已經設定了交換空間,原則上,交換空間盡量只設定一個。另外,也需要檢查,系統是否有足夠剩餘硬碟空間。

swapon -s

可以通過swapon命令查看系統的交換空間,或者,也可以通過free命令來查看。

free -h

通過df命令,來檢查系統的剩餘硬碟空間。

df -h
建立swap檔案

通過fallocate命令來建立一個分頁檔,由於我的系統記憶體是512M,交換分區一般設定為記憶體了2~4倍,所以我設定成了1G,直接掛載到根目錄下。

sudo fallocate -l 1G /swapfile

可以通過ls命令來查看

ls -lh /swapfile

結果如下

-rw-r--r-- 1 root root 1.0G Oct 30 11:00 /swapfile
啟用分頁檔

首先,修改/swapfile許可權,只允許root使用者訪問。

sudo chmod 600 /swapfile

ls的結果如下

-rw------- 1 root root 1.0G Oct 30 11:00 /swapfile

接下來,通知系統建立交換空間

sudo mkswap /swapfile

最後,啟用交換空間

sudo swapon /swapfile

可以通過swapon -s或者df -h命令來查看結果,交換空間應該會顯示出來。

持久化配置

重啟後,系統就不會再將/swapfile設定為交換空間了。 可以在/etc/fstab中添加如下

/swapfile   swap    swap    sw  0   0

這樣,重啟後系統會自動將/swapfile映射為交換空間。

最後

可以想象,如果實際記憶體需求遠超實體記憶體大小,會頻繁的出現記憶體和交換空間的資料交換情況,對硬碟的損傷是比較大的。而且,應用體驗也會比較差。

所以,交換空間只是臨時解決辦法,買記憶體條才是王道。

附本文參考

NPM gets killed no matter what.

How To Add Swap on CentOS 7

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.