1.工具(top)
CPU : 计算(主)和调度(次)
MEM : 缓存和缓冲
IO : 输入和输出
[root@master ~]# top
1.1 %Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us: user 用户程序占用的CPU时间片的百分比,比如:nginx,sshd
sy: system 内核程序,调用,管理,内心和IO子系统,文件系统处理
id: idle CPU空闲的时间百分比 (一般70%给软件用,留30%给空闲)
wa: wait CPU等待的时间的百分比(之前程序是否执行完和等待IO)
1.2 KiB Mem : 3866944 total, 3614244 free, 109200 used, 143500 buff/cache
total : 总的内存大小
free : 空闲内存大小
userd: 在使用的大小
buff/cache : 缓冲区/缓存
1.3 内存管理子系统: (RSS:常驻内存集,PAG cache :free,buffer+cache(最大可用的内存空间大小), )
slab分配器:(生成了一堆的链,每条链挂了大小相同的chunk(2的幂))
每条链上的chunk负责数据的缓冲和缓存
自动整理排序链上的chunk(按照冷热顺序),为了以后回收更加方便
buddy systemc 子系统:
1.当内存紧张的时候,会安装LRU(最近最少使用原则)算法释放部分内存
2.内存的整理,定期的进行内存碎片整理。
KiB Swap: 2097148 total, 2097148 free, 0 used. 3583104 avail Muser
LIUNX6操作系统,默认回收策略(buffer,cache),不立即回收策略
内存使用到达100%-60% 40%会使用
LIUNX7操作系统100%-70% 30%会使用
[root@CactiEZ ~]# cat /proc/sys/vm/swappiness (查看swpan 的回收率)
永久
vim /etc/sysctl.conf上添加
vm.swappiness=0
sysctl -p
关于大叶内存机制 huge page
对于数据库来讲:这个功能是要屏蔽掉(mysql,mongodb)
https://blog.csdn.net/j3T9Z7H/article/details/99668688
yum install epel* -y
yum install python-pip python-devel -y
yum install glances -y
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@master ~]# echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
[root@master ~]# echo 'never' /sys/kernel/mm/transparent_hugepage/defrag
如果系统不用到数据库可以不需要关闭