Linux性能优化实战:系统的swap变高(09)
Posted python运维自动化之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux性能优化实战:系统的swap变高(09)相关的知识,希望对你有一定的参考价值。
一、实验环境
1、操作系统
root@openstack:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic
2、内存
root@openstack:~# free -h total used free shared buff/cache available Mem: 4.9G 114M 4.0G 992K 773M 4.5G Swap: 3.9G 0B 3.9G
3、cpu
root@openstack:~# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 60 Model name: Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz Stepping: 3 CPU MHz: 3491.930 BogoMIPS: 6983.86 Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0,1
二、上传文件实验
1、窗口1
2、窗口2
# 间隔 1 秒输出一组数据 # -r 表示显示内存使用情况,-S 表示显示 Swap 使用情况 # sar -r -S 1 root@openstack:~# sar -r -S 1 Linux 4.15.0-45-generic (openstack) 02/06/2019 _x86_64_ (2 CPU) 09:32:07 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 08:32:08 AM 4189512 4744524 906804 17.79 50276 695116 257800 2.82 527428 258832 0 09:32:07 AM kbswpfree kbswpused %swpused kbswpcad %swpcad 09:32:08 AM 4039676 0 0.00 0 0.00 09:46:08 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 09:46:09 AM 112780 4660228 4983536 97.79 52088 4630296 284412 3.11 572084 4178412 192368 09:46:08 AM kbswpfree kbswpused %swpused kbswpcad %swpcad 09:46:09 AM 4039676 0 0.00 0 0.00
上升截图
2分钟后
3、你可能困惑了,为什么缓冲区在不停增大?这又是哪些进程导致的呢?
2分钟后
通过cachetop的输出,我们看到rz进程的读写请求只有26.3%的命中率,并且未命中的缓存页数为29744,这说明,正是案例开始运行的rz导致了缓冲区使用升高
三、命令解释
1、命令图解
2、文字解释
kbcommit
表示当前系统负载需要的内存,它实际上是为了保证系统内存不溢出,对需要内存的估计值,%commit就是这个值相对总内存的百分比
kbactive
表示活跃内存,也就是最近使用过的内存,一般不会被系统回收
kbinact
表示非活跃内存,也就是不常访问的内存,可能会被系统回收
四、总结
总内存使用率在不断增长,从开始的23%一直涨到了97%,并且主要内存都被缓冲区占用
刚开始,剩余内存不断减少,而缓冲区则不断增大,由此可知,剩余内存不断分配给了缓冲区
一段时间后,剩余内存已经很小,而缓冲区占用了大部分内存,这时候的使用开始逐渐增大、缓冲区和剩余内存只在小范围内波动
以上是关于Linux性能优化实战:系统的swap变高(09)的主要内容,如果未能解决你的问题,请参考以下文章