zoukankan      html  css  js  c++  java
  • 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
    

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

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

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

  • 相关阅读:
    第八周总结和实验六
    第七周总结与实验五
    遍历目录中的所有文件和目录,并生成全路径
    python watchdog
    Offer_answer_with_SDP_rfc3264
    [转]UML八大误解
    leetcode周赛220
    Codeforces Round #690 (Div. 3)
    学习资料
    鱼眼图与六面图转换(python)
  • 原文地址:https://www.cnblogs.com/luoahong/p/10353904.html
Copyright © 2011-2022 走看看