zoukankan      html  css  js  c++  java
  • 手把手教您扩展虚拟内存

    导读 在linux磁盘刚分区的时候,我们会划分一个swap分区,这块分区作为一块虚拟内存,承担着扩充内存的作用。然而在工作中我们会遇到虚拟内存也不够用的情况,这个时候我们也不能重新给磁盘进行分区,只能通过增加一个swap文件,来扩充我们的虚拟内存。接下来,山医的小凡将手把手带你扩充你的虚拟内存。
    1.检查现有交换空间的大小

    如果你想检查你现有虚拟内存的大小,可以使用命令‘free -m ’

    [root@chenfancentos ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           988        164        823          0         26         48
    -/+ buffers/cache:         90        898
    Swap:         1999          0       1999
    
    

    根据现有交换空间的大小,选择合适的拓展大小。

    2.创建适合的swapfile

    我们经常可以使用"dd"命令来创建一个文件,用 “if” 指定源,基本上除了 “/dev/zero” 外基本上不会写别的,而/dev/zero 是UNIX系统特有的一个文件。“of” 指定目标文件, “bs” 定义块的大小, “count” 定义块的数量,这两个参数的多少决定了目标文件的大小。

    [root@chenfancentos ~]# dd if=/dev/zero of=/tmp/swapfile  bs=300M count=1
    记录了1+0 的读入
    记录了1+0 的写出
    314572800字节(315 MB)已复制,13.9027 秒,22.6 MB/秒
    [root@chenfancentos ~]# du  -h /tmp/swapfile
    300M    /tmp/swapfile
    

    可以看到新生成了一个swapfile文件,大小为300M.

    3.格式化刚才创建的swapfile
    [root@chenfancentos ~]# mkswap -f /tmp/swapfile
    Setting up swapspace version 1, size = 307196 KiB
    no label, UUID=c4e2a8b1-fa09-41ab-bcbf-63c273ed9598
    

    可以看到格式化后成功的UUID信息

    4.实现开机自动挂载交换文件

    我们在/etc/fstab中增加一下条目 /tmp/swapfile swap swap defaults 0 0,就能实现开机自动挂载。

    [root@chenfancentos ~]# cat /etc/fstab
    # /etc/fstab
    # Created by anaconda on Sat Apr  2 19:37:01 2016
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=301b2f9f-91d3-47dd-8a43-d377cba1cd5c /                       ext4    defaults        1 1
    UUID=812455f9-a63f-4b09-9336-05e3ada6f9a7 /boot                   ext4    defaults        1 2
    UUID=416480d0-662c-406c-a328-b4c2f370577b swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    /tmp/swapfile            swap                   swap    defaults        0 0
    

    就这样即使后续重启,也能做到自动挂载。

    5.启用swapfile,查看虚拟内存大小
    [root@chenfancentos ~]# swapon /tmp/swapfile
    [root@chenfancentos ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           988        136        852          0         10         50
    -/+ buffers/cache:         74        913
    Swap:         2299          0       2299
    

    可以兴奋的看到,相对于初始的虚拟内存,现在增加了300M。是不是有点激动,想要体验Linux之美,跟着山医的小凡一起动手实验。

    免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

  • 相关阅读:
    记一下后续要看的点
    vue 封装request.js
    shuf命令简单用法
    Redis string 字符串
    Redis 事务操作
    Redis Zset 有序集合
    php操作redis的一些基本操作
    pytest自动化测试入门介绍
    idea&myeclipse 自动生成serialVersionUID
    leetCode1104. 二叉树寻路(medium)
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/5445576.html
Copyright © 2011-2022 走看看