Ubuntu Kylin技术论坛

 找回密码
查看: 4708|回复: 2

<经验交流>更改/添加swap分区文件方法

[复制链接]
  • TA的每日心情
    开心
    2018-7-24 13:27
  • 签到天数: 36 天

    [LV.5]常住居民I

    发表于 2016-1-24 20:16:16 | 显示全部楼层 |阅读模式
    本帖最后由 waxiyibian 于 2016-1-24 20:28 编辑

                                                              更改/添加swap分区文件方法                                                                              by     waxiyibian
                              大家应该都听说过swap分区,swap的暂时存放内存缓存和应用数据的地方,也不同于Windows的页面交换文件,swap的作用这里不再赘述,本文注重方法:
    合适的swap大小:几乎所有Linux 系统管理的书上都推荐设置交换分区大小为内存的2倍。这些建议到了现在就不是那么适用了,现在的服务器动不动就是 16GB/32GB 内存,难道相应的交换分区也要扩大到 32GB/64GB?
    其实不然,swap对服务器linux至关重要,在安装系统的时候很难决定多大的交换空间,往往需要根据服务器实际负载、运行情况、以及未来可能应用来综合考虑 swap 分区的大小,所以这里参考推荐最小 swap 大小更实际一些:
    4GB 或 4GB 以下内存的系统,最小需要 2GB 交换空间;
    大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
    大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
    大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。
    而对于桌面版linux,我们的内存并没有那么大的压力,太大的swap起不了作用,只是占一下磁盘空间,未雨绸缪而已。
    所以无论是4G、8G还是2G内存,我们可以统一把swap定为2G,不用的时候就以防万一,2G也够用,当你需要用到大量swap再去扩充(科学计算、源码编译内存不足时)
    添加swap的方法:
           一、实质的swap分区
    大家可以用fdisk命令(MBR型磁盘)/parted(GPT型磁盘)或者图形化工具gparted压缩空闲较多的分区,分出合适的大小,然后在/etc/fstab 中添加一项swap的选项
    请注意:增删分区等的操作不可以在当前系统下完成因为在一个磁盘上的分区被挂载时,就不可以进行分区表改动,分区需要在live系统下完成,ubuntu安装光盘的live系统或者gparted的debianLive系统都可以,怎么进入网上有许多教程,这个不是文章的重点,这里提供另一种方法。


            二、swap镜像文件
    步骤一、确定你要分的swap分区大小,比如我的是2G然后打开终端,输入”export   size=2“  回车,再输入”dd  if=/dev/zero  of=~/.swapfile  bs=1M count=$[$size*1024]",(dd是一个读取和写入文件的命令,if这里表示input file输入文件,of表示output file输出文件,bs是block size一次读取的数据大小(根据磁盘速度而定),count是读取的块数,总大小是bs乘count,/dev是device的意思,是linux识别设备的虚拟文件夹,开机时自动创建,然后识别有什么设备连接在主机上,zero是0,这里是linux独有的一个特殊虚拟设备,不断的产生0,~是主目录,我的用户名叫lion,linux下的主目录为/home/lion,.swapfile用.开头,表示这是一个隐藏文件,平时你看不见它,免得你手贱给删了,总的意思是用0填充主目录下一个叫做.swapfile的文件,大小是2G,其他的命令用法详情请百度
    终端是linux的灵魂,想要高效工作,在linux下终端必不可少。
    继续步骤,在终端输入”sudo  gedit   /etc/fstab“打开系统的分区自动挂载表,满足格式的分区会在开机时init自动挂载,(在新终端用sudo要输入密码,这是不用说的)
    下面开始要用到绝对路径的,不熟悉终端的人很多不懂相对路径和绝对路径,不过这不是这篇文章的重点。因为我们的swap交换文件是放在主目录的(你喜欢的话可以换到其他地方),linux下任何一个用户的主目录都可以用~来表示,那是因为linux有一个系统变量叫做HOME,不同的用户的主目录不一样,$HOME的值也不一样($ 是调用变量的意思,不然电脑分不清HOME变量本身和四个字符HOME),我们可以在终端通过echo  $HOME查看自己的主目录,也可以文件管理器打开/home,看看里面哪个是你的,比如我的”echo  $HOME"输出“/home/lion”,那么~/.swapfile绝对路径就是/home/lion/.swapfile,以此类推。


    打开之后拉到下面,这里我新增了两行”
    # swap  file  in  ~/.swapfile
    /home/lion/.swapfile   none   swap    sw   0  0
    第一行#开头的表示注释,是给人看的,电脑执行时会跳过#开头的行。第二句空格的个数随意,空格是为了好看点,一个空格和十个空格的作用这里都是分隔符,并没有差别。


    最后保存,然后退出,重启,就好了。
    终端输入“free -m”可以查看内存和swap使用信息。


    写到这里,也就告一段落了,



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 1麒麟币 +5 收起 理由
    handsome_feng + 5 物质支持来了

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-24 13:27
  • 签到天数: 36 天

    [LV.5]常住居民I

     楼主| 发表于 2016-1-24 20:26:18 | 显示全部楼层
    本人并非学识渊博之士,再次不要脸地说一下:benren  nongcun  gaosan  gou  yizhi,huanying  dajia  jieshao  jianzhi  gongzuo  he  wuzhi  zhichi。
    Written  in  24th  January,2016.Tthanks  everyone  for  reading, if   any   questions,please  contract  Email  1220966771@qq.com.PS:Donation  shall  be  sent  to  LiQing  High  school   in  ChaoNan,ShanTou  or  paypal  account  1220966771@qq.com{:6_134:}
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 102 天

    [LV.6]常住居民II

    发表于 2019-8-10 06:42:12 | 显示全部楼层
    交换空间的定义说的详尽。桌面系统分与不分好似可以略。分过,一般没用过。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|Ubuntu Kylin    

    GMT+8, 2019-12-15 17:48 , Processed in 0.015367 second(s), 10 queries , File On.

    Copyright ©2013-2019 Ubuntu Kylin. All Rights Reserved .

    ICP No. 15002470-2 Tianjin

    快速回复 返回顶部 返回列表