linux-查看内存信息

woooooon 2024-07-21 15:07:02 阅读 69

linux-查看内存信息

一、通过/proc/meminfo文件二、free 命令三、top命令四、htop命令五、vmstat命令

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

一、通过/proc/meminfo文件

/proc/meminfo 显示较为不友好,如下

<code>[root@FZCTP-DB ~]# cat /proc/meminfo

MemTotal: 65966848 kB

MemFree: 889116 kB

MemAvailable: 45478012 kB

Buffers: 1040 kB

Cached: 56090320 kB

SwapCached: 251808 kB

Active: 43912548 kB

Inactive: 17060336 kB

Active(anon): 15318844 kB

Inactive(anon): 2234540 kB

Active(file): 28593704 kB

Inactive(file): 14825796 kB

Unevictable: 0 kB

Mlocked: 0 kB

SwapTotal: 33030140 kB

SwapFree: 30908668 kB

Dirty: 24 kB

Writeback: 0 kB

AnonPages: 4634024 kB

Mapped: 10414980 kB

Shmem: 12671860 kB

Slab: 1918164 kB

SReclaimable: 1662388 kB

SUnreclaim: 255776 kB

KernelStack: 20448 kB

PageTables: 1366244 kB

NFS_Unstable: 0 kB

Bounce: 0 kB

WritebackTmp: 0 kB

CommitLimit: 66013564 kB

Committed_AS: 25697732 kB

VmallocTotal: 34359738367 kB

VmallocUsed: 140196 kB

VmallocChunk: 34326050816 kB

HardwareCorrupted: 0 kB

AnonHugePages: 569344 kB

CmaTotal: 0 kB

CmaFree: 0 kB

HugePages_Total: 0

HugePages_Free: 0

HugePages_Rsvd: 0

HugePages_Surp: 0

Hugepagesize: 2048 kB

DirectMap4k: 554876 kB

DirectMap2M: 66553856 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 : 65966848 total, 898236 free, 7060244 used, 58008368 buff/cache

KiB Swap: 33030140 total, 30908668 free, 2121472 used. 45487072 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命令

命令 htop 与命令 top 类似。但是,命令 htop 的真正优势在于其用户友好的操作环境和更强大的控件。

命令 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 2121472 907312 1040 58008452 0 0 2 3 0 0 1 1 98 0 0

1 0 2121472 908048 1040 58008424 0 0 0 559 11005 8373 0 1 97 0 2

2 0 2121472 906636 1040 58008440 0 0 0 202 3799 4088 0 0 99 0 0

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。