Linux命令

您所在的位置:网站首页 清理内存的命令 Linux命令

Linux命令

2023-10-06 06:09| 来源: 网络整理| 查看: 265

1、查看内存使用情况 free -m/free -g 

  

total:内存总数 used:已经使用的内存数 free:空闲的内存数 shared:当前已经废弃不用 buffers Buffer:缓存内存数 cached Page:缓存内存数

  第一行:    Mem的  Total=used+free        used使用内存     free空闲内存       shared          表示被几个进程共享的内存的。    buffer  缓冲  是用于存放要输出到disk(块设备)的数据。                    是根据磁盘的读写 设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。    cache  缓存 是存放从disk上读出的数据。是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。

      其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。                     如果cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。

  第二行:    这一行表示两项   -buffers/cache  和  + buffers/cache     -buffers/cache   = used -(buffers+cache)   表示使用的内存中不计算buffers和cache,系统使用内存量    + buffers/cache  =free+( buffers+cache)    表示系统空闲内存与buffers、cache的和

  第三行:    交换内存  使用量  空限量

  Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是linux内存管理中非常出色的一点,所以乍一看内存剩余的非常少,但是在程序真正需要内存空间时,linux会将缓存让出给程序使用,这样达到对内存的最充分利用,所以真正剩余的内存是free+buff/cache

        但是有些时候大量的缓存占据空间,这时候应用程序回去使用swap交换空间,从而使系统变慢,这时候需要手动去释放内存,释放内存的时候,首先执行命令 sync 将所有正在内存中的缓冲区写到磁盘中,其中包括已经修改的文件inode、已延迟的块I/O以及读写映射文件,从而确保文件系统的完整性

2、sync

  手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

3、释放 echo 3 > /proc/sys/vm/drop_caches 

  0:0是系统默认值,默认情况下表示不释放内存,由操作系统自动管理  1:释放页缓存  2:释放dentries和inodes  3:释放所有缓存

  如果现在想让操作系统重新分配内存,那么设置drop_caches的值为0即可

  echo 0 > /proc/sys/vm/drop_caches

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3