centos 添加 swap 分区

本贴最后更新于 4149 天前,其中的信息可能已经事过境迁

场景:

      最近查看服务器内存总是很少,提示需要增加内存空间,但是添加内存,要加钱,但是怎么样可以同时加大内存又不花钱。于是想到了虚拟内存,查看了一下,发现服务器并没有设置swap分区,于是我就从数据盘分出1g来当做swap空间

方法:

 使用dd命令创建一个swap分区

      [root@localhost Desktop]#dd if=/dev/zero of=/home/swap bs=1024 count=1048576
    
            count的计算公式: count=SIZE*1024  (size以MB为单位)

      这样就建立一个/home/swap的分区文件,大小为1G,接着需要格式化新建的SWAP分区:

      [root@localhost Desktop]# mkswap /home/swap 


      再用swapon命令把这个文件分区变成swap分区

      [root@localhost Desktop]#swapon /home/swap
      (关闭SWAP分区命令为:[root@localhost Desktop]#swapoff /home/swap)

      再用free -m查看一下,可以看出swap扩大了。

     

      为了能够让swap自动挂载,要修改/etc/fstab文件

      vi /etc/fstab

      在文件末尾加上

      /home/swap swap swap default 0 0
    这样就算重启系统,swap分区就不用手动挂载了。

效果:

       

[root@AY130701184903434d7bZ classes]# free -m
             total       used       free     shared    buffers     cached
Mem:           491        443         48          0          0         17
-/+ buffers/cache:        424         66
Swap:         1023        113        910

由此可以看到显然内存空间有一些剩余,在每次重启tomcat的时候也不会报需要加大内存了

补充:

     关于swap分区的用处,swap是当物理内存不够用的时候,把数据放到swap中,所以swap起到了一个虚拟内存的作用,在某种意义上来说也算是加大了内存空间。

    百度百科的解释

注:之前我每次备份数据库的时候,都需要重启tomcat,想来是因为mysql备份数据库会产生一些文件,从而占用了内存空间,从而导致jvm内存过小,所以tomcat报错。再我加上了swap空间后,这样的问题就没在出现过了

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...