美文网首页
Linux系统释放内存

Linux系统释放内存

作者: 这真的是一个帅气的名字 | 来源:发表于2018-11-04 20:53 被阅读47次

    首先是通过free -h 命令查看,结果显示内存过大。
    第1行Mem数据:

    `total `内存总数
    `used` 已经使用的内存数
    `free` 空闲的内存数
    `shared` 当前已经废弃不用,总是0
    `buffers Buffer Cache`内存数
    `cached Page Cache`内存数
    第2行-/+ buffers/cache:
    
    `-buffers/cache` 的内存数: (等于第1行的 used - buffers - cached)
    `+buffers/cache` 的内存数:  (等于第1行的 free + buffers + cached)
    可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
    
    第三行数据是交换分区SWAP的,也就是我们通常所说的虚拟内存。
    

    然后sync命令(Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的。
    Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到filesystem buffer 中,这个buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer中的资料强制写入硬盘中。)
    echo 1 > /proc/sys/vm/drop_caches再次查看内存时就变少了.
    另外需要注意的是,在生产环境中的服务器我们不要频繁的去释放内存,只在必要时候清理内存即可,更重要的是我们应该从应用程序层面去优化内存的利用和释放,经常清理内存可能只是暂时屏蔽的应用程序中的一些bug,所以更重要的是程序的调优,其他的交给操作系统来管理

    如果提示Permission denied是因为没有权限 chmod +x 文件名即可

    相关文章

      网友评论

          本文标题:Linux系统释放内存

          本文链接:https://www.haomeiwen.com/subject/vuudxqtx.html