Linux性能优化实战学习笔记:第二十讲

本文是Linux性能优化实战学习笔记。在特定实验环境下进行上传文件实验,发现缓冲区不断增大。通过cachetop输出得知,rz进程导致缓冲区使用升高。还对相关命令进行解释,如kbcommit、kbactive等。最后总结内存使用率不断增长,主要被缓冲区占用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux性能优化实战学习笔记:第二十讲

一、实验环境

1、操作系统

1

2

3

4

5

6

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、内存

1

2

3

4

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# 间隔 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%,并且主要内存都被缓冲区占用

刚开始,剩余内存不断减少,而缓冲区则不断增大,由此可知,剩余内存不断分配给了缓冲区

一段时间后,剩余内存已经很小,而缓冲区占用了大部分内存,这时候的使用开始逐渐增大、缓冲区和剩余内存只在小范围内波动

 

 

 

作者:罗阿红 出处:http://www.cnblogs.com/luoahong/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值