linux怎么看内存使用情况_Linux是什么软件

(5) 2024-08-13 20:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
linux怎么看内存使用情况_Linux是什么软件,希望能够帮助你!!!。

操作系统


文章目录

  • 操作系统
  • 一、 查看内存使用情况
    • 1. 使用 free 命令
    • 2. 查看 /proc/meminfo
    • 3. 使用 vmstat 命令
    • 4. 使用 top 命令
    • 5. htop 命令
  • 二、 查看物理内存信息
  • 小结
  • 参考链接

一、 查看内存使用情况

在Linux系统中,大部分操作都通过命令行来完成,因为大部分情况下不开启图形界面。
在服务器环境,则只能通过shell执行操作。
下面介绍查看内存使用情况的相关命令。 包括物理内存(RAM)和交换内存(swap)。

我们经常需要检查服务器的内存使用情况,以及每个进程占用的内存,避免发生资源短缺进而影响用户体验。
对于网站和Web服务,必须具有足够的内存才能处理客户端请求。 如果内存不足,在请求高峰时就会变得缓慢,拥堵,甚至服务崩溃。
当然桌面系统也是同样的道理。

1. 使用 free 命令

free 命令是Linux系统中最简单和最常用的内存查看命令, 示例如下:

zz@xiaole:~$ free -m 总计 已用 空闲 共享 缓冲/缓存 可用 内存: 15659 8709 165 1477 6785 5144 交换: 15624 1344 14280 (xonnx) zz@xiaole:~$ free -h 总计 已用 空闲 共享 缓冲/缓存 可用 内存: 15Gi 8.5Gi 197Mi 1.4Gi 6.6Gi 5.1Gi 交换: 15Gi 1.3Gi 13Gi 

其中, -m 选项是以MB为单位来展示内存使用信息; -h 选项则是以人类(human)可读的单位来展示。

上面的示例中, Mem: 这一行:

total 表示总共有 7822MB 的物理内存(RAM),即7.6G。 used 表示物理内存的使用量,大约是 322M。 free 表示空闲内存; shared 表示共享内存?; buff/cache 表示缓存和缓冲内存量; Linux 系统会将很多东西缓存起来以提高性能,这部分内存可以在必要时进行释放,给其他程序使用。 available 表示可用内存; 

输出结果很容易理解。 Swap 这一行表示交换内存,从示例中的数字可以看到,基本上没使用到交换内存。

2. 查看 /proc/meminfo

另一种方法是读取 /proc/meminfo 文件。 我们知道, /proc 目录下都是虚拟文件,包含内核以及操作系统相关的动态信息。

zz@xiaole:~$ cat /proc/meminfo MemTotal:  kB MemFree:  kB MemAvailable:  kB Buffers:  kB Cached:  kB SwapCached: 19092 kB Active:  kB Inactive:  kB Active(anon):  kB Inactive(anon):  kB Active(file):  kB Inactive(file):  kB Unevictable:  kB Mlocked: 2492 kB SwapTotal:  kB SwapFree:  kB Dirty: 37508 kB Writeback: 0 kB AnonPages:  kB Mapped:  kB Shmem:  kB KReclaimable:  kB Slab:  kB SReclaimable:  kB SUnreclaim:  kB KernelStack: 33056 kB PageTables: 96408 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit:  kB Committed_AS:  kB VmallocTotal:  kB VmallocUsed:  kB VmallocChunk: 0 kB Percpu: 8896 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB FileHugePages: 0 kB FilePmdMapped: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k:  kB DirectMap2M:  kB DirectMap1G:  kB 

重点关注这些数据:

MemTotal, 总内存 MemFree, 空闲内存 MemAvailable, 可用内存 Buffers, 缓冲 Cached, 缓存 SwapTotal, 交换内存 SwapFree, 空闲交换内存 

提供的信息和 free 命令看到的差不多。

3. 使用 vmstat 命令

使用 vmstat -s 命令和选项, 可以对内存使用情况进行统计, 类似于 /proc/meminfo。

示例如下:

zz@xiaole:~$ vmstat -s  K total memory  K used memory  K active memory  K inactive memory  K free memory  K buffer memory  K swap cache  K total swap  K used swap  K free swap  non-nice user cpu ticks 6440 nice user cpu ticks  system cpu ticks  idle cpu ticks  IO-wait cpu ticks 0 IRQ cpu ticks 57036 softirq cpu ticks 0 stolen cpu ticks  pages paged in  pages paged out 11714 pages swapped in  pages swapped out  interrupts  CPU context switches  boot time  forks 

最前面的几行,显示了内存总量,使用量,以及空闲内存等信息。

4. 使用 top 命令

top 命令一般用于查看进程的CPU和内存使用情况;当然也会报告内存总量,以及内存使用情况,所以可用来监控物理内存的使用情况。
在输出信息的顶部展示了汇总信息。

示例输出:

zz@xiaole:~$ top top - 15:25:25 up 6:10, 1 user, load average: 2.73, 2.77, 2.53 任务: 429 total, 1 running, 422 sleeping, 0 stopped, 6 zombie %Cpu(s): 1.8 us, 1.2 sy, 0.0 ni, 73.0 id, 23.8 wa, 0.0 hi, 0.3 si, 0.0 st MiB Mem : 15659.9 total, 225.7 free, 8710.2 used, 6724.0 buff/cache MiB Swap: 15625.0 total, 14259.0 free, 1366.0 used. 5183.1 avail Mem Renice PID 9586 to value 进程号 USER PR NI VIRT RES SHR %CPU %MEM TIME+ COMMAND 

各种操作系统提供的参数略有不同,一般来说都可以根据CPU和内存来排序。

例如:

# CentOS top -o %MEM top -o %CPU # mac top -o mem top -o cpu 

碰到不清楚的,请使用 top -h 查看帮助信息。

重点关注顶部的 KiB Mem 和 KiB Swap 这两行。 表示内存的总量、使用量,以及可用量。
buffer 和 cache 部分,和 free 命令展示的差不多。

5. htop 命令

与 top 命令类似, 但 htop 还展示了其他的各种信息, 而且支持彩色显示。
linux怎么看内存使用情况_Linux是什么软件_https://bianchenghao6.com/blog__第1张顶部的消息显示了CPU使用率, 以及RAM和交换内存的使用情况。

如果没安装,可以使用类似的命令:

yum install htop -y 

二、 查看物理内存信息

想要查看物理内存的硬件信息,可以使用 demidecode 命令。
这个命令会输出物理内存相关的信息。

zz@xiaole:~$ sudo dmidecode -t 17 # dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 3.2.0 present. Handle 0x0002, DMI type 17, 92 bytes Memory Device Array Handle: 0x0001 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 8192 MB Form Factor: SODIMM Set: None Locator: Controller0-ChannelA-DIMM0 Bank Locator: BANK 0 Type: DDR4 Type Detail: Synchronous Speed: 3200 MT/s Manufacturer: SK Hynix Serial Number: 22E2F3F7 Asset Tag: None Part Number: HMAA1GS6CJR6N-XN Rank: 1 Configured Memory Speed: 3200 MT/s Minimum Voltage: Unknown Maximum Voltage: Unknown Configured Voltage: 1.2 V Memory Technology: DRAM Memory Operating Mode Capability: Volatile memory Firmware Version: Not Specified Module Manufacturer ID: Bank 1, Hex 0xAD Module Product ID: Unknown Memory Subsystem Controller Manufacturer ID: Unknown Memory Subsystem Controller Product ID: Unknown Non-Volatile Size: None Volatile Size: 8 GB Cache Size: None Logical Size: None Handle 0x0003, DMI type 17, 92 bytes Memory Device Array Handle: 0x0001 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 8192 MB Form Factor: SODIMM Set: None Locator: Controller1-ChannelA-DIMM0 Bank Locator: BANK 0 Type: DDR4 Type Detail: Synchronous Speed: 3200 MT/s Manufacturer: SK Hynix Serial Number: 22E2F69D Asset Tag: None Part Number: HMAA1GS6CJR6N-XN Rank: 1 Configured Memory Speed: 3200 MT/s Minimum Voltage: Unknown Maximum Voltage: Unknown Configured Voltage: 1.2 V Memory Technology: DRAM Memory Operating Mode Capability: Volatile memory Firmware Version: Not Specified Module Manufacturer ID: Bank 1, Hex 0xAD Module Product ID: Unknown Memory Subsystem Controller Manufacturer ID: Unknown Memory Subsystem Controller Product ID: Unknown Non-Volatile Size: None Volatile Size: 8 GB Cache Size: None Logical Size: None 

dmidecode -t 17 展示的信息包括 内存大小, 类型,带宽等信息。 当然,因为示例中使用的是虚拟机,所以有的信息是不可用的。

如果不加 -t 参数,则展示所有类型的硬件信息。 也可以指定其他 -t 参数来查看对应的硬件信息。

小结

本文介绍的命令都可以在shell终端上执行,不需要图形界面来展示。
如果使用带有图形界面的Linux桌面系统,则使用图形工具会更直观。 一般来说图形桌面都会提供对应的系统监控工具。 输出容易理解的 cpu, 物理内存, 交换内存, 网络带宽等资源的使用信息。

参考链接

https://www.binarytides.com/linux-command-check-memory-usage/
http://virtualthreads.blogspot.com/2006/02/understanding-memory-usage-on-linux.html

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复