linux-检察内存信息

金歌  论坛元老 | 2024-10-17 12:54:31 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1057|帖子 1057|积分 3171

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Linux检察内存信息的几种方法有,通过/proc/meminfo文件、free命令、top命令、htop命令和vmstat命令等。
一、通过/proc/meminfo文件

/proc/meminfo 显示较为不友好,如下
  1. [root@FZCTP-DB ~]# cat /proc/meminfo
  2. MemTotal:       65966848 kB
  3. MemFree:          889116 kB
  4. MemAvailable:   45478012 kB
  5. Buffers:            1040 kB
  6. Cached:         56090320 kB
  7. SwapCached:       251808 kB
  8. Active:         43912548 kB
  9. Inactive:       17060336 kB
  10. Active(anon):   15318844 kB
  11. Inactive(anon):  2234540 kB
  12. Active(file):   28593704 kB
  13. Inactive(file): 14825796 kB
  14. Unevictable:           0 kB
  15. Mlocked:               0 kB
  16. SwapTotal:      33030140 kB
  17. SwapFree:       30908668 kB
  18. Dirty:                24 kB
  19. Writeback:             0 kB
  20. AnonPages:       4634024 kB
  21. Mapped:         10414980 kB
  22. Shmem:          12671860 kB
  23. Slab:            1918164 kB
  24. SReclaimable:    1662388 kB
  25. SUnreclaim:       255776 kB
  26. KernelStack:       20448 kB
  27. PageTables:      1366244 kB
  28. NFS_Unstable:          0 kB
  29. Bounce:                0 kB
  30. WritebackTmp:          0 kB
  31. CommitLimit:    66013564 kB
  32. Committed_AS:   25697732 kB
  33. VmallocTotal:   34359738367 kB
  34. VmallocUsed:      140196 kB
  35. VmallocChunk:   34326050816 kB
  36. HardwareCorrupted:     0 kB
  37. AnonHugePages:    569344 kB
  38. CmaTotal:              0 kB
  39. CmaFree:               0 kB
  40. HugePages_Total:       0
  41. HugePages_Free:        0
  42. HugePages_Rsvd:        0
  43. HugePages_Surp:        0
  44. Hugepagesize:       2048 kB
  45. DirectMap4k:      554876 kB
  46. DirectMap2M:    66553856 kB
复制代码
二、free 命令

free它是对 /proc/meminfo 收集到的信息的一个概述,free更精简、更容易理解。数据表现总额内存/已用内存/可用内存/互换内存巨细(默认以kb为单位)
  1. [root@FZCTP-DB ~]# free -m
  2.               total        used        free      shared  buff/cache   available
  3. Mem:          64420        6891         880       12374       56649       44423
  4. Swap:         32255        2071       30184
复制代码
free显示的各个字段意义如下:
选项意义total总安装内存used正在运行的历程当前正在使用的内存(used= total – free – buff/cache)free未使用的内存(free= total – used – buff/cache)shared多个历程共享的内存buffers作系统保留的内存,在历程需要时分配为缓冲区cached存储在 RAM 中最近使用的文件buff/cacheBuffers + Cachedavailable可用于启动新应用程序,无需互换的内存巨细 为了更机动输出效果,free 命令可以添加多个选项标志用来格式化输出
选项标志效果-m以 MB 为单位的输出-G以 GB 为单位输出-l具体的低内存和高内存统计信息-tRAM + swap-s多少秒更新一次-C更新多少次 三、top命令

top命令显示了每个历程的内存及时使用率。它提供了全部历程的常驻内存巨细、程序总内存巨细、共享库巨细等的报告。
  1. M #根据驻留内存大小进行排序。
  2. P #根据CPU使用百分比大小进行排序。
  3. T #根据时间/累计时间进行排序。
  4. c #切换显示命令名称和完整命令行。
复制代码
  1. Tasks: 737 total,   1 running, 736 sleeping,   0 stopped,   0 zombie
  2. %Cpu(s):  0.2 us,  0.3 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
  3. KiB Mem : 65966848 total,   898236 free,  7060244 used, 58008368 buff/cache
  4. KiB Swap: 33030140 total, 30908668 free,  2121472 used. 45487072 avail Mem
  5.   scroll coordinates: y = 1/737 (tasks), x = 1/12 (fields)
  6.   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                      
  7. 45216 oracle    20   0   39.6g   6.8g   6.8g S   0.0 10.8  30:48.36 oracle                                                                                       
  8. 45224 oracle    20   0   39.6g   6.1g   6.1g S   0.0  9.8  73:53.75 oracle                                                                                       
  9. 45230 oracle    20   0   39.6g   6.1g   6.1g S   0.0  9.7  74:29.54 oracle                                                                                       
  10. 45218 oracle    20   0   39.6g   6.1g   6.1g S   0.0  9.7  71:58.33 oracle                                                                                       
  11. 45228 oracle    20   0   39.6g   6.1g   6.1g S   0.0  9.7  75:06.66 oracle                                                                                       
  12. 45232 oracle    20   0   39.6g   6.1g   6.1g S   0.0  9.6  73:44.73 oracle                                                                                       
  13. 45222 oracle    20   0   39.6g   6.1g   6.1g S   0.0  9.6  70:29.97 oracle                                                                                       
  14. 45226 oracle    20   0   39.6g   6.1g   6.0g S   0.0  9.6  72:31.86 oracle                                                                                       
  15. 45220 oracle    20   0   39.6g   6.1g   6.0g S   0.0  9.6  69:31.22 oracle                                                                                       
  16. 45238 oracle    20   0   39.6g   5.3g   5.3g S   0.0  8.4 162:42.33 oracle                                                                                       
  17. 6774 oracle    20   0   39.6g   3.8g   3.8g S   0.0  6.0   3036:32 oracle                                                                                       
  18. 1729 oracle    20   0   39.6g   3.7g   3.7g S   0.0  5.8   2:29.35 oracle                                                                                       
  19. 1687 oracle    20   0   39.6g   3.6g   3.6g S   0.0  5.7   1:25.78 oracle                                                                                       
  20. 1733 oracle    20   0   39.6g   3.5g   3.5g S   0.0  5.6   1:37.34 oracle                                                                                       
  21. 1735 oracle    20   0   39.6g   3.4g   3.4g S   0.0  5.5   2:43.60 oracle
复制代码
四、htop命令

命令 htop 与命令 top 雷同。但是,命令 htop 的真正优势在于其用户友好的操作情况和更强大的控件。
命令 htop 输出包含颜色高亮,为历程提供完备的命令行,以及垂直和水平滚动的功能。
五、vmstat命令

vmstat 命令是报告虚拟内存统计信息的有效工具。它的返回提供有关历程、内存、分页、块 IO、捕获和 CPU 活动的一般信息。
  1. [root@FZCTP-DB ~]# vmstat 2
  2. procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
  3. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  4. 2  0 2121472 907312   1040 58008452    0    0     2     3    0    0  1  1 98  0  0
  5. 1  0 2121472 908048   1040 58008424    0    0     0   559 11005 8373  0  1 97  0  2
  6. 2  0 2121472 906636   1040 58008440    0    0     0   202 3799 4088  0  0 99  0  0
  7. 0  0 2121472 909344   1040 58008444    0    0     0   328 2423 3291  0  0 100  0  0
复制代码
历程
r:等待运行时的历程数。
b:处于不可制止睡眠状态的历程数。
内存
swpd:使用的虚拟内存巨细。
free:空闲内存巨细。
buff:用作缓冲区的内存巨细。
cache:用作缓存的内存巨细。
互换区
si:从磁盘换入的内存(/s) 。
so:互换到磁盘的内存(/s)。
IO 块
bi:从块设备接收到的块(块/s)。
bo:发送到块设备的块(块/s)。
系统
in:每秒制止次数,包罗时钟。
cs:每秒上下文切换的次数。
CPU – 下面都是占总 CPU 时间的百分比。
us:运行非内核代码所花费的时间(用户时间,包罗nice time)
sy:运行内核代码所花费的时间(系统时间)
id:空闲时间,在 Linux 2.5.41 之前,这包罗 IO 等待时间。
wa:等待IO所花费的时间,在 Linux 2.5.41 之前,包含在 idle 中。
st:从虚拟机窃取的时间,在 Linux 2.6.11 之前,未知。
   https://www.jb51.net/article/281693.htm#_label4
https://blog.csdn.net/Luckiers/article/details/123909819

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金歌

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表