CentOS7如何設(shè)置交換文件?CentOS7設(shè)置交換文件的方法

問題來源
想在買的VPS上搭點博客服務(wù),偏愛于動態(tài)博客之類的,選用了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 npm npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the npm WARN deprecated latest stable version. To upgrade to npm@2, run: npm WARN deprecated npm WARN deprecated npm -g install npm@latest-2 npm WARN deprecated npm WARN deprecated To upgrade to the latest stable version, run: npm WARN deprecated npm WARN deprecated npm -g install npm@latest npm WARN deprecated npm WARN deprecated (Depending on how Node.js was installed on your system, you npm WARN deprecated may need to prefix the preceding commands with `sudo`, or if npm 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 with npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS npm WARN deprecated will be bundled with a version of npm@2, which has some small npm WARN deprecated backwards-incompatible changes made to `npm run-script` and npm WARN deprecated semver behavior.
提示其實很清楚,是說npm版本太低,有一些特性不支持。參照提示,執(zhí)行
npm -g install npm@latest
同樣先出現(xiàn)一屏提示,畢竟npm在這個時刻還沒有升級,等了幾十秒鐘后,出現(xiàn)了如下
......以上省略 npm WARN deprecated backwards-incompatible changes made to `npm run-script` and npm WARN deprecated semver behavior. Killed
如果不細心,就發(fā)現(xiàn)莫名其妙的結(jié)束了,而npm也沒有更新。仔細看,會發(fā)現(xiàn)最后一行出現(xiàn)一個Killed提示。 到網(wǎng)上一搜,可以發(fā)現(xiàn),這個是因為內(nèi)存不夠,服務(wù)器內(nèi)存不夠,于是程序就直接結(jié)束了。其實如果VPS內(nèi)存較小的話,不僅在安裝nodejs庫的時候會出現(xiàn)問題,直接使用yum安裝包的時候,也會提示Cannot allocate memory的Error。
Solution
升級VPS配置
最簡單的辦法當(dāng)然是升級VPS配置了,這個去網(wǎng)頁上點點按鈕就可以,只要掏錢就行。 對個人玩家而言,不過是用VPS上搭點個人網(wǎng)站、折騰點小玩意,沒多大流量,往往不需要太好的配置。于是,就采用下面一個辦法了,增加交換文件。
SWAP FILE
我們平時聽得更多的可能是交換分區(qū),就是直接在硬盤上單獨分一個區(qū)來當(dāng)作交換空間使用。如果是在系統(tǒng)已經(jīng)安裝好后,不方便新建分區(qū),可以使用文件來替代。 交換空間實質(zhì)就是硬盤,在系統(tǒng)中用作內(nèi)存的一個較大的緩存,操作系統(tǒng)內(nèi)存不夠用的時候,會把一些不常用的頁替換到交換空間里面。所以,交換空間會改善一些系統(tǒng)的性能。 但交換空間不是越大越好,因為應(yīng)用程序如果剛好用到了交換空間的數(shù)據(jù),這個時候會有一個比較大的延遲,太大的交換分區(qū)會導(dǎo)致大量的應(yīng)用程序高延遲的情況出現(xiàn)。所以,如果程序有大內(nèi)存需求,最好的辦法還是增加物理內(nèi)存。買內(nèi)存才是王道,交換空間只是一個稍微改善性能的途徑而已。
CentOS7設(shè)置交換文件
檢查系統(tǒng)條件
首先,檢查系統(tǒng)是否已經(jīng)設(shè)置了交換空間,原則上,交換空間盡量只設(shè)置一個。另外,也需要檢查,系統(tǒng)是否有足夠剩余硬盤空間。
swapon -s
可以通過swapon命令查看系統(tǒng)的交換空間,或者,也可以通過free命令來查看。
free -h
通過df命令,來檢查系統(tǒng)的剩余硬盤空間。
df -h
創(chuàng)建swap文件
通過fallocate命令來新建一個交換文件,由于我的系統(tǒng)內(nèi)存是512M,交換分區(qū)一般設(shè)置為內(nèi)存了2~4倍,所以我設(shè)置成了1G,直接掛載到根目錄下。
sudo fallocate -l 1G /swapfile
可以通過ls命令來查看
ls -lh /swapfile
結(jié)果如下
-rw-r--r-- 1 root root 1.0G Oct 30 11:00 /swapfile
啟用交換文件
首先,修改/swapfile權(quán)限,只允許root用戶訪問。
sudo chmod 600 /swapfile
ls的結(jié)果如下
-rw------- 1 root root 1.0G Oct 30 11:00 /swapfile
接下來,通知系統(tǒng)創(chuàng)建交換空間
sudo mkswap /swapfile
最后,啟用交換空間
sudo swapon /swapfile
可以通過swapon -s或者df -h命令來查看結(jié)果,交換空間應(yīng)該會顯示出來。
持久化配置
重啟后,系統(tǒng)就不會再將/swapfile設(shè)置為交換空間了。 可以在/etc/fstab中添加如下
/swapfile swap swap sw 0 0
這樣,重啟后系統(tǒng)會自動將/swapfile映射為交換空間。
最后
可以想象,如果實際內(nèi)存需求遠超物理內(nèi)存大小,會頻繁的出現(xiàn)內(nèi)存和交換空間的數(shù)據(jù)交換情況,對硬盤的損傷是比較大的。而且,應(yīng)用體驗也會比較差。
所以,交換空間只是臨時解決辦法,買內(nèi)存條才是王道。
相關(guān)文章
- 一些朋友還不知道如何在CentOS7下擴展根目錄空間;下面小編就為大家?guī)鞢entOS7擴展根目錄空間操作步驟;有需要的朋友可以過來看看2016-11-29
Centos7下如何實現(xiàn)多虛擬機互信?Centos7下實現(xiàn)多虛擬機互信的方法
有些朋友還不知道Centos7下如何實現(xiàn)多虛擬機互信;下面小編將為大家?guī)鞢entos7下實現(xiàn)多虛擬機互信的方法;有需要的朋友可以過來看看2016-11-28- 本文為大家具體的介紹如何在CentOS7系統(tǒng)下編譯安裝Mapnik?小編這里使用的是Master版本,Master版本需要glibc2.14+的支持,一起來看看吧2016-11-28
- 最近一些朋友說不知道centos7如何添加開機啟動服務(wù)/腳本;很苦惱!下面小編將會給大家?guī)韈entos7添加開機啟動服務(wù)/腳本的方法;有需要的朋友可以過來看看2016-11-28
- 一些朋友反饋說不知道CentOS7上如何添加Swap交換空間;下面小編就為大家?guī)鞢entOS 7上添加Swap交換空間的方法;有需要的朋友可以去看看吧2016-11-28
- 有些朋友還不知道如何更改centos7的默認啟動為命令界面?下面小編就為大家?guī)砀腸entos 7 的默認啟動為命令界面的方法;一起去看看吧2016-11-27
- 一些用戶反饋說不知道centos7如何修改系統(tǒng)默認語言;很煩惱,下面小編就為大家?guī)韈entos7改系統(tǒng)默認語言的方法;有需要的朋友可以過來看看2016-11-24
通過CentOS 7.0 電源管理關(guān)閉筆記本合蓋睡眠待機的方法
最近一些用戶遇到這樣一個問題!就是CentOS 7.0電源管理默認將筆記本合上就睡眠待機了,F(xiàn)TP、SSH都訪問不了了;這該如何解決?下面小編就為大家?guī)硗ㄟ^CentOS 7.0 電源管2016-11-02- 本文給大家分享兩種centos7修改主機名方法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧2016-10-20
- 很多同學(xué)在裝完centos7,發(fā)現(xiàn)網(wǎng)卡接口名字變了, 不再是eth*或者em*了,而是ens*,但是很不利于維護,下面小編給大家介紹下centos7修改網(wǎng)卡名字的方法,非常不錯,一起看看吧2016-10-08