17.2.0: 系统管理-内存管理



1. 命令:free

作用:查看内存总量和系统使用内存情况
语法:
free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [-l] [-V]

参数:

PS: buffers/cache(free):空余的buffers、cache和空余的内存之和才是系统当前实际可用内存 buffers是即将要被写入磁盘的,cache是被从磁盘中读出来的

输出内容含义:

free -m
             total       used       free     shared    buffers     cached
Mem:          3726        508       3217          0         43        141
-/+ buffers/cache:        323       3402
Swap:          763          0        763

## 第1行,标题行

## 第2行
# total:物理内存容量,total=used+free 3726约=508+3217
# used:系统使用的内存,包含buffers和cached
# free:空闲内存
# shared:基本已经停用
# buffers:写入到硬盘的缓存
# cached:供系统读取的缓存

## 第3行
# 1、used-cached-buffers 508-43-141约=323,含义为除buffers和cached以外真正用掉的内存
# 2、free+cached+buffers 3217+43+141约=3402,含义为包含buffers和cached真正可用的内存

## 第4行
# swap,基本是不会使用到

2. 命令:vmstat

作用:输出虚拟memory的统计

man page description vmstat - Report virtual memory statistics

语法:vmstat [参数 内容] [延迟时间 [次数] ]

参数:

输出内容含义:

用法示例:

# "-s"参数会将输出结果由默认的memory status转换成一个静态报表
vmstat -s
      1030528  total memory
       491288  used memory
       239108  active memory
       189752  inactive memory
       539240  free memory
       159048  buffer memory
       258412  swap cache
      1023992  total swap
            0  used swap
      1023992  free swap
         2655 non-nice user cpu ticks
           87 nice user cpu ticks
        28642 system cpu ticks
     85839705 idle cpu ticks
       113674 IO-wait cpu ticks
         1905 IRQ cpu ticks
        36223 softirq cpu ticks
            0 stolen cpu ticks
       228627 pages paged in
       956490 pages paged out
            0 pages swapped in
            0 pages swapped out
     10512745 interrupts
      6644499 CPU context switches
   1419434147 boot time
        13994 forks

3. 文件:/proc/meminfo

作用:储存内存信息
用法举例:

# 用MB来展示结果
cat /proc/meminfo|sed -r 's/ +/ /g'|\
awk -v unit="MB" -F ' ' '{$2=$2/1024}{printf("%20s %-9d %s\n",$1,$2,unit)}'
           MemTotal: 981       MB
            MemFree: 844       MB
            Buffers: 29        MB
             Cached: 35        MB
         SwapCached: 0         MB
             Active: 33        MB
           Inactive: 41        MB
       Active(anon): 8         MB
     Inactive(anon): 0         MB
       Active(file): 24        MB
     Inactive(file): 41        MB
        Unevictable: 0         MB
            Mlocked: 0         MB
          SwapTotal: 999       MB
           SwapFree: 999       MB
              Dirty: 0         MB
          Writeback: 0         MB
          AnonPages: 8         MB
             Mapped: 6         MB
              Shmem: 0         MB
               Slab: 38        MB
       SReclaimable: 14        MB
         SUnreclaim: 23        MB
        KernelStack: 1         MB
         PageTables: 1         MB
       NFS_Unstable: 0         MB
             Bounce: 0         MB
       WritebackTmp: 0         MB
        CommitLimit: 1490      MB
       Committed_AS: 58        MB
       VmallocTotal: 33554431  MB
        VmallocUsed: 151       MB
       VmallocChunk: 33554273  MB
  HardwareCorrupted: 0         MB
      AnonHugePages: 0         MB
    HugePages_Total: 0         MB
     HugePages_Free: 0         MB
     HugePages_Rsvd: 0         MB
     HugePages_Surp: 0         MB
       Hugepagesize: 2         MB
        DirectMap4k: 6         MB
        DirectMap2M: 1018      MB
        DirectMap1G: 0         MB