请解释“top”命令中以粗体显示的以下行:
内存:总计 1026228k,已用 449640k,可用 576588k, 44812k 缓冲区
交换:总计 1052248k,已用 2020k,可用 1050228k, 189092k 已缓存
谢谢 Arpit
答案1
“缓冲区”条目指示当前正在使用的内存中有多少用于磁盘缓冲。
交换缓存
仅修改过的(或脏的)页面保存在交换文件中。
只要这些页面在写入交换文件后没有被修改,那么下次交换出该页面时就无需将其写入交换文件,因为该页面已经在交换文件中了。相反,该页面可以简单地被丢弃。在频繁交换的系统中,这可以节省许多不必要且昂贵的磁盘操作。
答案2
Linux 会自动缓存从磁盘读取的文件。该缓存称为缓冲区。如果您的程序需要更多内存并且没有更多可用内存,则将释放缓冲区。
我不知道缓存交换是什么意思。
编辑:我很快用 Google 搜索了有关交换的信息,并看到了以下内容:http://www.linux-tutorial.info/modules.php?name=MContent&pageid=314
似乎缓存交换是指交换中的所有页面,这些页面被重新加载到内存中,但此后没有改变。交换中的这些页面已经有效,如果页面稍后再次被换出,Linux 不需要将它们实际写入磁盘。