![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存
baishimingx
本博客作为记录日常学习的笔记
展开
-
内存性能分析常用工具
为了迅速定位内存问题,先运行几个覆盖面比较大的性能工具,比如free、top、vmstat、pidstat 等。具体的分析思路主要有这几步。1. 先用 free 和 top,查看系统整体的内存使用情况。2. 再用 vmstat 和 pidstat,查看一段时间的趋势,从而判断出内存问题的类型。3. 最后进行详细分析,比如内存分配分析、缓存 / 缓冲区分析、具体进程的内存使用分析等...原创 2019-07-09 00:01:01 · 182 阅读 · 0 评论 -
内存回收
系统会通过三种方式回收内存。这三种方式分别是 :1.基于 LRU(Least Recently Used)算法,回收缓存;2.基于 Swap 机制,回收不常访问的匿名页;3.基于 OOM(Out of Memory)机制,杀掉占用大量内存的进程。前两种方式,缓存回收和 Swap 回收,实际上都是基于 LRU 算法,也就是优先回收不常访问的内存。LRU 回收算法,实际上维护着 ...原创 2019-07-09 00:01:03 · 1246 阅读 · 1 评论 -
查看内存(free/top)
内存主要用来存储系统和应用程序的指令、数据、缓存等如何查看内存使用情况1.freefree 输出的是一个表格,其中的数值都默认以字节为单位。表格总共有两行六列,这两行分别是物理内存 Mem 和交换分区 Swap 的使用情况,而六列中,每列数据的含义分别为free total used free shared buff/cache available...原创 2019-07-09 00:00:56 · 263 阅读 · 0 评论 -
内存调优常见思路
内存调优最重要的就是,保证应用程序的热点数据放到内存中,并尽量减少换页和交换。常见的优化思路有这么几种。1. 最好禁止 Swap。如果必须开启 Swap,降低 swappiness 的值,减少内存回收时Swap 的使用倾向。2. 减少内存的动态分配。比如,可以使用内存池、大页(HugePage)等。3. 尽量使用缓存和缓冲区来访问数据。比如,可以使用堆栈明确声明内存空间,来存储需要缓存...原创 2019-07-09 00:00:57 · 231 阅读 · 0 评论 -
内存性能指标
1.系统内存使用情况比如已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量等已用内存和剩余内存很容易理解,就是已经使用和还未使用的内存。共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs其实也是一种特殊的缓存。可用内存是新进程可以使用的最大内存,它包括剩余内存和可回收缓存。缓存包括两部分,一部分是磁盘读取文件的页缓存,用来缓存从磁...原创 2019-07-09 00:00:59 · 2082 阅读 · 0 评论