Linux:窥探内存的命令。

free

此命令用于显示系统内存的使用情况,包括总体内存、已经使用的内存;还可用于显示系统内核使用的缓冲区,包括缓冲(buffer)和缓存(cache)等。

使用方式

  • free

命令输出

内存并不只有占用和空闲两个简单状态,我们从上面的输出中发现其中有buffers和cached的数据,从字面意义上来讲,都是缓存,只有弄清楚缓存了什么数据才能有效地区分这两种缓存。

buffers一般都不太大,在一个通用的Linux系统中一般为几十到几百MB字节,用于存储磁盘块设备的元数据,比如哪些块属于哪些文件、文件的权限、目录等信息。

cached会很大,一般都在GB字节以上,用于存储读写文件的页。当对一个文件进行读时,会取磁盘文件页放到其内存区域,然后从内存中进行读取;在写入一个文件时,会先写到缓存中,并将相关的页面标记位“dirty”。cached随着读写磁盘的多少而自动的增加或减少,这也取决于物理内存是否够用,如果应用使用的物理内存较多,则操作系统会适当缩小cached来保证用户进程对内存的需要。

pmap

此命令用来报告进程中各个模块占用内存的具体情况,显示比较底层的进程模块占用内存的信息,并且可以打印内存的起止地址等,用于定位深层次JVM或者操作系统的内存问题。

使用方式

  • pmap -d 2862

命令输出

猜你喜欢

转载自blog.csdn.net/en_joker/article/details/88052600
今日推荐