CentOS7如何设置交换文件?CentOS7设置交换文件的方法

2020-01-30 15:24:14刘景俊

问题来源

想在买的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 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版本太低,有一些特性不支持。参照提示,执行

npm -g install npm@latest

同样先出现一屏提示,毕竟npm在这个时刻还没有升级,等了几十秒钟后,出现了如下

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

如果不细心,就发现莫名其妙的结束了,而npm也没有更新。仔细看,会发现最后一行出现一个Killed提示。 到网上一搜,可以发现,这个是因为内存不够,服务器内存不够,于是程序就直接结束了。其实如果VPS内存较小的话,不仅在安装nodejs库的时候会出现问题,直接使用yum安装包的时候,也会提示Cannot allocate memory的Error。

Solution

升级VPS配置

最简单的办法当然是升级VPS配置了,这个去网页上点点按钮就可以,只要掏钱就行。 对个人玩家而言,不过是用VPS上搭点个人网站、折腾点小玩意,没多大流量,往往不需要太好的配置。于是,就采用下面一个办法了,增加交换文件。

SWAP FILE

我们平时听得更多的可能是交换分区,就是直接在硬盘上单独分一个区来当作交换空间使用。如果是在系统已经安装好后,不方便新建分区,可以使用文件来替代。 交换空间实质就是硬盘,在系统中用作内存的一个较大的缓存,操作系统内存不够用的时候,会把一些不常用的页替换到交换空间里面。所以,交换空间会改善一些系统的性能。 但交换空间不是越大越好,因为应用程序如果刚好用到了交换空间的数据,这个时候会有一个比较大的延迟,太大的交换分区会导致大量的应用程序高延迟的情况出现。所以,如果程序有大内存需求,最好的办法还是增加物理内存。买内存才是王道,交换空间只是一个稍微改善性能的途径而已。