Linux性能優化實戰學習筆記:第二十講

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

二、內存

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

三、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

2、上傳文件實驗

一、窗口1

二、窗口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

上升截圖node

2分鐘後緩存

三、你可能困惑了,爲何緩衝區在不停增大?這又是哪些進程致使的呢?

 

2分鐘後bash

 

經過cachetop的輸出,咱們看到rz進程的讀寫請求只有26.3%的命中率,而且未命中的緩存頁數爲29744,這說明,正是案例開始運行的rz致使了緩衝區使用升高socket

3、命令解釋

 一、命令圖解

二、文字解釋

kbcommit

表示當前系統負載須要的內存,它其實是爲了保證系統內存不溢出,對須要內存的估計值,%commit就是這個值相對總內存的百分比ionic

kbactive

表示活躍內存,也就是最近使用過的內存,通常不會被系統回收ui

kbinact

表示非活躍內存,也就是不常訪問的內存,可能會被系統回收spa

4、總結

總內存使用率在不斷增加,從開始的23%一直漲到了97%,而且主要內存都被緩衝區佔用操作系統

剛開始,剩餘內存不斷減小,而緩衝區則不斷增大,由此可知,剩餘內存不斷分配給了緩衝區blog

一段時間後,剩餘內存已經很小,而緩衝區佔用了大部份內存,這時候的使用開始逐漸增大、緩衝區和剩餘內存只在小範圍內波動進程

 

 

相關文章
相關標籤/搜索