查找进程在缓存或缓冲区中

查找进程在缓存或缓冲区中

我在一台具有 4GB RAM 的服务器上运行 Web 和 DB。当我使用 free -m 检查内存时,我可以看到大部分内存都在缓存中。

free -m
              total        used        free      shared  buff/cache   available
Mem:           3534        1507         973          25        1052        1676
Swap:          8191           0        8191

有什么方法可以找出哪些进程是从缓存提供服务的,或者哪些进程正在获取缓存,因为每次我都必须使用同步命令来清除可用内存。

答案1

一般来说你应该不是去做。空闲内存是未使用的内存,浪费资源。内核知道它在做什么:只要内存没有更好的用途,它就会将其用于 I/O 缓冲区或磁盘缓存。当进程运行需要更多内存时,内核将自动分配它。

除非你可以措施交换空间和内存的使用之间不平衡,因此您不应干扰内存分配参数。

相关内容