第一章 内存的测量
优化目标
- 守护进程使用的内存尽可能少。
- 系统在长时间运行后,各守护进程依然保持较低的内存使用。
1.1 系统当前可用内存
使用 free 命令可以查看当前内存情况,几个关键字概念:
- buffer 主要用来给Linux系统中块设备做缓冲区。
- cahced 用来缓冲打开的文件。
- 系统内存充足时,不用白不用,可以用内存做一些缓冲。真正可用内存= free + buffer + cache
/proc 文件目录是由内存实时生成的。free 命令就是通过获取 /proc/meminfo 文件来检测内存的。
1.2.2 /proc/{pid}
目录下有关进程的文件
- statm
78199 2295 2011 8 0 6492 0
这里有7个数,单位是页大小(4KB),分别代表的含义是
- Size : 虚拟地址空间大小
- Resident:正在使用的物理内存大小
- Shared:共享页数。
- Trs:可执行虚拟内存大小
- Drs:被映射的库的大小
- Drs:数据段和用户态栈的大小
- dt:脏页数量,已经修改的物理页面(可能被修改了,直接返回0)