1. top command : 是linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。
2. free command :
free -m 查看内存占用情况
free -S 不间断地监控有多少内存在使用
----------------------------------------------------------------------------------------------------------------------------------
For example :
total used free shared buffers cached
Mem: 128 119 8 0 1 22
-/+ buffers/cache: 95 32
swap: 255 0 255
第1行Mem数据:
- total 内存总数: 128
- used 已经使用的内存数: 119
- free 空闲的内存数: 8
- shared 当前已经废弃不用,总是0
- buffers Buffer Cache内存数: 1
- cached Page Cache内存数: 22
第2行-/+ buffers/cache:
- -buffers/cache 的内存数:95 (等于第1行的 used - buffers - cached)
- +buffers/cache 的内存数: 32 (等于第1行的 free + buffers + cached)
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三行数据是交换分区SWAP的,也就是我们通常所说的虚拟内存。(Swap被频繁使用时,说明物理内存不足。解决方法: 1.top查看哪些进程消耗较多内存,kill掉它们;2.reboot server能有效地释放swap)
为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
---------------------------------------------------------------------------------------------------------------------------------
1)间隔显示 free
作为一个状态检查工具,最好的统计内存利用率的方法是使用延迟间隔。
如果我们想要每3秒统计一次内存利用率并且适于人类可读,那么就可以用 free -hs 3
2)显示高低内存统计
free -l
3) 显示 Linux 全部内存
free -t
3. ps command : 实时显示各个进程的内存使用情况
ps aux --sort -rss