Linux 是一款强大的操作系统,广泛用于各种场合。在使用 Linux 时,了解和管理内存使用情况是非常重要的,因为它直接影响着系统的性能。本文将向您展示如何使用 Linux 工具查看和管理内存使用情况,以及如何优化内存效率,提高系统性能。
1./proc/meminfo
查看 RAM 使用情况最简单的方法是通过 /proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具 (如:free / ps / top) 等的组合显示。/proc/meminfo 列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过 /proc//statm 和 /proc//status 来查看。
$ cat /proc/meminfo
MemTotal: 8010436 kB
MemFree: 7514008 kB
MemAvailable: 7567204 kB
Buffers: 872 kB
Cached: 282844 kB
SwapCached: 0 kB
Active: 213156 kB
Inactive: 111632 kB
Active(anon): 41264 kB
Inactive(anon): 32888 kB
Active(file): 171892 kB
Inactive(file): 78744 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 41088 kB
Mapped: 35936 kB
Shmem: 33080 kB
Slab: 66888 kB
SReclaimable: 48120 kB
SUnreclaim: 18768 kB
KernelStack: 1872 kB
PageTables: 2788 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 4005216 kB
Committed_AS: 272452 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 22136 kB
VmallocChunk: 34359707388 kB
HardwareCorrupted: 0 kB
AnonHugePages: 4096 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 79740 kB
DirectMap2M: 3065856 kB
DirectMap1G: 7340032 kB
2.atop
atop 命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
$ sudo atop
3.free
free 命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
$ free -h
4.GNOME System Monitor
GNOME System Monitor 是一个显示最近一段时间内的 CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看 CPU 及内存使用情况的方法。
$ gnome-system-monitor
5.htop
htop 命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
$ htop
6.KDE System Monitor
功能同 4 中介绍的 GENOME 版本。
$ ksysguard
7.memstat
memstat 是一个有效识别 executable(s), process(es) and shared libraries 使用虚拟内存情况的命令。给定一个进程 ID,memstat 可以列出这个进程相关的可执行文件、数据和共享库。
$ memstat -p
8.nmon
nmon 是一个基于 ncurses 的系统基准测试工具,它可以监控 CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示总 / 剩余内存、交换空间等信息。
$ nmon
9.ps
ps 命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (totalamount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort” 选项对进程进行排序,例如按 RSS 进行排序:
$ ps aux | sort -rss
图8:Linux下查看内存使用情况方法总结
10.smem
smem 命令允许你统计基于 / proc 信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
smem -P sshd -k
PID User Command Swap USS PSS RSS
815 root /usr/sbin/sshd 0 868.0K 951.0K 1.3M
14104 root sshd: root@pts/0 0 2.8M 3.5M 5.3M
14292 root python /usr/bin/smem -P ssh 0 5.1M 5.8M 7.2M
11.top
top 命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
$ top
12.vmstat
vmstat 命令显示实时的和平均的统计,覆盖 CPU、内存、I/O 等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
在本文中,我们介绍了如何使用 Linux 命令行工具来查看和管理内存使用情况,包括 free、top、vmstat 等常用命令。此外,我们还演示了如何使用内存映射文件和 swap 分区来优化内存,让系统更加高效。希望通过阅读本文,您可以更好地了解内存使用情况的相关知识,同时也能够更好地管理和优化 Linux 系统的性能。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !