zoukankan      html  css  js  c++  java
  • Linux系统调优——Memory内存(二)

    (1).查看Memory(内存)运行状态相关工具

     1)free命令查看内存使用情况

    [root@youxi1 ~]# free -m  //-m选项,以MB为单位显示
                  total        used        free      shared  buff/cache   available
    Mem:           3934         163        3478          11         292        3513
    Swap:          2047           0        2047
    

      在CentOS7中新增了一列available,该列是真正可用内存,其包括了buff/cache中的一些可以被释放的内存。当物理内存不够用时,内核会把非活跃的数据清空。

     2)top

      输入top命令,按下大写的M,可以使输出按照内存的使用率进行排序。top命令使用在内存方面时,可以查看到内存的各种信息,但更多的是用于找出使用内存最多的程序

      详细查看:Linux命令之uptime

     3)ps

      按照实际使用内存,从大到小显示所有进程列表。可以用于找出使用内存最多的程序

    [root@youxi1 ~]# ps aux --sort -rss | more
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root        801  0.0  0.7 358120 29116 ?        Ssl  14:52   0:01 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
    root       1140  0.0  0.4 573852 19192 ?        Ssl  14:52   0:01 /usr/bin/python -Es /usr/sbin/tuned -l -P
    polkitd     766  0.0  0.3 539212 12892 ?        Ssl  14:52   0:00 /usr/lib/polkit-1/polkitd --no-debug
    root        814  0.0  0.2 476472 11220 ?        Ssl  14:52   0:00 /usr/sbin/NetworkManager --no-daemon
    root        764  0.1  0.2 298928  8284 ?        Ssl  14:52   0:13 /usr/bin/vmtoolsd
    root        763  0.0  0.1  99656  6116 ?        Ss   14:52   0:00 /usr/bin/VGAuthService -s
    root       1460  0.0  0.1 161396  6016 ?        Rs   15:26   0:01 sshd: root@pts/0
    root       1141  0.0  0.1 218504  4684 ?        Ssl  14:52   0:00 /usr/sbin/rsyslogd -n
    root       1143  0.0  0.1 112796  4288 ?        Ss   14:52   0:00 /usr/sbin/sshd -D
    postfix    1329  0.0  0.1  89792  4076 ?        S    14:52   0:00 qmgr -l -t unix -u
    --More--

      注意:rss前面有减号是降序,没有减号是升序。

    (2).查看内存信息

      内存信息存放在/proc/meminfo文件中

    [root@youxi1 ~]# cat /proc/meminfo
    MemTotal:        4028428 kB
    MemFree:         3561616 kB
    MemAvailable:    3597164 kB
    Buffers:            2108 kB
    Cached:           237892 kB
    SwapCached:            0 kB
    Active:           195264 kB  //活跃内存,指进程一直读写的内存空间
    Inactive:         111844 kB  //非活跃内存
    Active(anon):      67760 kB
    Inactive(anon):    11152 kB
    Active(file):     127504 kB
    Inactive(file):   100692 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Dirty:                 0 kB
    Writeback:             0 kB
    AnonPages:         67108 kB
    Mapped:            25028 kB
    Shmem:             11804 kB
    Slab:              59536 kB
    SReclaimable:      24896 kB
    SUnreclaim:        34640 kB
    KernelStack:        5072 kB
    PageTables:         4068 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:     4111360 kB
    Committed_AS:     270624 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:      193148 kB
    VmallocChunk:   34359310332 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:     12288 kB
    CmaTotal:              0 kB
    CmaFree:               0 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:      100160 kB
    DirectMap2M:     4093952 kB
    

    (3).内存调优

      我没看到专门的内存调优,一般都是程序内部调整。正常运行状态下,长时间占用swap内存就表示需要添加内存条了。(一己之见)

  • 相关阅读:
    java多线程
    golang编码转换
    golang csv,xls,xlsx
    golang 资源
    electron安装
    Ubuntu系统下面软件安装更新命令
    golang代码执行顺序
    datatables使用
    Echarts柱形图颜色设置
    golang chan 超时
  • 原文地址:https://www.cnblogs.com/diantong/p/11271312.html
Copyright © 2011-2022 走看看