服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|

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

2019-07-07 11:42centos之家 Centos

很多朋友都不知道CentOS7如何设置交换文件;下面小编就为大家带来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 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

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

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映射为交换空间。

最后

可以想象,如果实际内存需求远超物理内存大小,会频繁的出现内存和交换空间的数据交换情况,对硬盘的损伤是比较大的。而且,应用体验也会比较差。

所以,交换空间只是临时解决办法,买内存条才是王道。

延伸 · 阅读

精彩推荐
  • Centoscentos下关闭selinux不重启的方法

    centos下关闭selinux不重启的方法

    今天小编为大家带来的是centos下关闭selinux不重启的方法,希望对大家会有帮助,感兴趣的朋友一起去看看吧...

    centos之家3292019-06-21
  • CentosCentOS7系统安装KDE后显示为中文语言的修改方法

    CentOS7系统安装KDE后显示为中文语言的修改方法

    在CentOS7系统上安装KDE后,默认显示的是英文。如何修改为中文的呢?下面小编将为大家带来...

    CentOS之家1692019-06-10
  • CentosCentOS7 如何设置截图的快捷键?

    CentOS7 如何设置截图的快捷键?

    设置截屏快捷键:当你刚安装了centos7.0的时候,你对这个系统并不是很熟悉,当你想用到一款截图工具时,却不知道怎么办,其实系统自带了截图工具的,下面小编就为大家带来CentOS7 设置截图的快捷键的方法,一起去看看吧...

    centos之家1292019-07-07
  • CentosCentos下限制SSH登录次数详解

    Centos下限制SSH登录次数详解

    今天小编为大家带来的是Centos下限制SSH登录次数详解;希望可以帮助到大家,有需要的朋友一起去看看吧...

    Centos之家2192019-06-29
  • CentosCentOS下chmod 755和4755的区别是什么?

    CentOS下chmod 755和4755的区别是什么?

    chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限;下面小编将为大家带来CentOS下chmod 755和4755的区别的讲解,有需要的朋友一起去看看吧...

    服务器之家4252019-06-20
  • CentosCentOS系统如何获取命令的源代码

    CentOS系统如何获取命令的源代码

    一些朋友在问CentOS系统如何获取命令的源代码?今天小编为大家带来的是CentOS系统获取命令的源代码方法;希望能够帮助到大家,有需要的朋友一起去看看吧...

    CentOS之家5062019-06-03
  • CentosCentOS7如何设置交换文件?CentOS7设置交换文件的方法

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

    很多朋友都不知道CentOS7如何设置交换文件;下面小编就为大家带来CentOS7设置交换文件的方法;有需要的朋友可以过来看看...

    centos之家2282019-07-07
  • CentosCentOS系统环境精简优化详解

    CentOS系统环境精简优化详解

    今天小编将为大家带来通过6步骤,完成对centos精简和优化讲解。希望对大家会带来帮助,有需要的朋友一起去看看吧...

    CentOS之家2142019-06-15