top命令的Mem行跟内存和交换分区有关, Mem行包括五个参数:
total 服务器总的物理内存.used 当前使用的总得内存, 包括buffers和cache.
free 当前没有使用的内存.
buffers buffer跟服务器使用的write cache有关, 也包括文件系统表和一些服务器需要放在内存的结构. 所有需要写到磁盘的数据首先写到write cache, 从终端用户的角度来看, 用户使用的应用程序不需要等待数据写入. 如果系统需要更多的内存, 而不能从free的内存分配时, write cache能被刷新, 然后将write cache使用的内存给其他应用程序使用. 总之, buffer使系统变得更快.
cached 当用户从服务器请求文件时,通常文件需要从磁盘读取, 由于磁盘比内存大约慢1000倍, 因此每次从磁盘获取文件后都放到cache来加速下次读取该文件. 如果分配给cahce的内存需要给其他应用程序使用, cache可以被立即释放加入到free内存中以便使用. 对于那些读次数多的服务器,cache内存通常很高,如果cache内存低于总内存的40%, 那么服务器性能可能很慢, 这时需增加内存.
swap swap space是在硬盘上模拟内存, 如果系统开始使用swap, 这可不好, 因为swap比内存大约慢1000倍. 但swap并不是总是不好, 如内核使用它把不需要的数据从内存移除, 以便释放更多内存空间.
推荐阅读: