当前位置: 首页 > Linux

LinuxMemory

时间:2023-04-06 20:15:53 Linux

free-htotalusedfreesharedbuff/cacheavailableMem:3.7G1.1G1.4G1.0M1.2G2.4GSwap:0B0B0Bused:usedmemoryfree:当前剩余内存shared:被多个程序共享Memorybuff/cache:Filelookup,inode,andothercachestoprovideperformanceavailable:表示应用程序可以申请的内存buff(BufferCache)是一种IO缓存,用于内存和硬盘缓冲,是一个io设备读写缓冲区。根据磁盘的读写进行设计,将分散的写操作集中起来,减少磁盘碎片和硬盘的重复寻道,从而提高系统性能。缓存(PageCache)是一种高速缓存,用于CPU和内存之间的缓冲,是文件系统的缓存。保存读取的数据,重新读取时如果命中(找到需要的数据),则不读取硬盘,如果没有命中,则读取硬盘。里面的数据会按照阅读频率进行整理,阅读频率最高的内容会放在最容易找到的位置,不再阅读的内容会放在后排,直到删除。它们都占用内存。两者都是RAM中的数据。简单的说就是buff即将写入磁盘,cache是??从磁盘读取。Usablememory=free+buff/cacheUsedmemory=used+shared+buff/cache清除buff/cache(高并发下慎用,清空cache,直接读硬盘会造成压力过大和坏情况)*sync:将所有未写入的系统缓冲区写入磁盘,包括修改的i-nodes、延迟块I/O和读写映射文件*echo1>/proc/sys/vm/drop_caches:清除页面缓存*echo2>/proc/sys/vm/drop_caches:清除并回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,很多缓存数据的实现都使用了pagecache。*echo3>/proc/sys/vm/drop_caches:清除pagecache和slab分配器中的缓存对象。/proc/sys/vm/drop_caches的值,默认为0