linux-查看内存信息
Linux查看内存信息的几种方法有,通过/proc/meminfo文件、free命令、top命令、htop命令和vmstat命令等。
一、通过/proc/meminfo文件
/proc/meminfo 显示较为不友好,如下
[root@FZCTP-DB ~]# cat /proc/meminfo MemTotal: kB MemFree: kB MemAvailable: kB Buffers: 1040 kB Cached: kB SwapCached: kB Active: kB Inactive: kB Active(anon): kB Inactive(anon): kB Active(file): kB Inactive(file): kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: kB SwapFree: kB Dirty: 24 kB Writeback: 0 kB AnonPages: kB Mapped: kB Shmem: kB Slab: kB SReclaimable: kB SUnreclaim: kB KernelStack: 20448 kB PageTables: kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: kB Committed_AS: kB VmallocTotal: kB VmallocUsed: kB VmallocChunk: kB HardwareCorrupted: 0 kB AnonHugePages: kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: kB DirectMap2M: kB
二、free 命令
free它是对 /proc/meminfo 收集到的信息的一个概述,free更精简、更容易理解。数据表示总额内存/已用内存/可用内存/交换内存大小(默认以kb为单位)
[root@FZCTP-DB ~]# free -m total used free shared buff/cache available Mem: 64420 6891 880 12374 56649 44423 Swap: 32255 2071 30184
free显示的各个字段意义如下:
选项 | 意义 |
---|---|
total | 总安装内存 |
used | 正在运行的进程当前正在使用的内存(used= total – free – buff/cache) |
free | 未使用的内存(free= total – used – buff/cache) |
shared | 多个进程共享的内存 |
buffers | 作系统保留的内存,在进程需要时分配为缓冲区 |
cached | 存储在 RAM 中最近使用的文件 |
buff/cache | Buffers + Cached |
available | 可用于启动新应用程序,无需交换的内存大小 |
为了更灵活输出结果,free 命令可以添加多个选项标志用来格式化输出
选项标志 | 结果 |
---|---|
-m | 以 MB 为单位的输出 |
-G | 以 GB 为单位输出 |
-l | 详细的低内存和高内存统计信息 |
-t | RAM + swap |
-s | 多少秒更新一次 |
-C | 更新多少次 |
三、top命令
top命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。
M #根据驻留内存大小进行排序。 P #根据CPU使用百分比大小进行排序。 T #根据时间/累计时间进行排序。 c #切换显示命令名称和完整命令行。
Tasks: 737 total, 1 running, 736 sleeping, 0 stopped, 0 zombie %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 KiB Mem : total, free, used, buff/cache KiB Swap: total, free, used. avail Mem scroll coordinates: y = 1/737 (tasks), x = 1/12 (fields) PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 45216 oracle 20 0 39.6g 6.8g 6.8g S 0.0 10.8 30:48.36 oracle 45224 oracle 20 0 39.6g 6.1g 6.1g S 0.0 9.8 73:53.75 oracle 45230 oracle 20 0 39.6g 6.1g 6.1g S 0.0 9.7 74:29.54 oracle 45218 oracle 20 0 39.6g 6.1g 6.1g S 0.0 9.7 71:58.33 oracle 45228 oracle 20 0 39.6g 6.1g 6.1g S 0.0 9.7 75:06.66 oracle 45232 oracle 20 0 39.6g 6.1g 6.1g S 0.0 9.6 73:44.73 oracle 45222 oracle 20 0 39.6g 6.1g 6.1g S 0.0 9.6 70:29.97 oracle 45226 oracle 20 0 39.6g 6.1g 6.0g S 0.0 9.6 72:31.86 oracle 45220 oracle 20 0 39.6g 6.1g 6.0g S 0.0 9.6 69:31.22 oracle 45238 oracle 20 0 39.6g 5.3g 5.3g S 0.0 8.4 162:42.33 oracle 6774 oracle 20 0 39.6g 3.8g 3.8g S 0.0 6.0 3036:32 oracle 1729 oracle 20 0 39.6g 3.7g 3.7g S 0.0 5.8 2:29.35 oracle 1687 oracle 20 0 39.6g 3.6g 3.6g S 0.0 5.7 1:25.78 oracle 1733 oracle 20 0 39.6g 3.5g 3.5g S 0.0 5.6 1:37.34 oracle 1735 oracle 20 0 39.6g 3.4g 3.4g S 0.0 5.5 2:43.60 oracle
四、htop命令
五、vmstat命令
vmstat 命令是报告虚拟内存统计信息的有用工具。它的返回提供有关进程、内存、分页、块 IO、捕获和 CPU 活动的一般信息。
[root@FZCTP-DB ~]# vmstat 2 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 1040 0 0 2 3 0 0 1 1 98 0 0 1 0 1040 0 0 0 559 11005 8373 0 1 97 0 2 2 0 1040 0 0 0 202 3799 4088 0 0 99 0 0 0 0 1040 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 之前,未知。
今天的文章 linux-查看内存信息分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/96954.html