在Linux服务器上查看内存使用情况,可以通过多种命令来实现。以下是一些常用的方法:
free
命令free
命令是最常用的查看内存使用情况的工具之一。它可以显示系统中总的内存使用情况,包括物理内存、交换空间等。
free -h
-h
参数表示以人类可读的方式显示(如KB、MB、GB)。示例输出:
total used free shared buff/cache available
Mem: 7.7G 2.1G 1.2G 104M 4.3G 5.2G
Swap: 2.0G 0B 2.0G
top
命令top
命令提供了一个实时的视图,显示当前系统中运行的进程及其资源使用情况,包括内存。
top
在top
命令的输出中,你可以看到以下几列与内存相关:
%MEM
: 进程使用的物理内存百分比。RES
: 进程使用的物理内存大小。VIRT
: 进程使用的虚拟内存大小。vmstat
命令vmstat
命令提供了关于进程、内存、分页、块IO、陷阱和CPU活动的信息。
vmstat -s
这个命令会显示系统级别的各种内存统计信息。
/proc/meminfo
文件/proc/meminfo
文件包含了详细的内存使用信息,可以通过cat
命令查看:
cat /proc/meminfo
示例输出:
MemTotal: 8075468 kB
MemFree: 1308760 kB
MemAvailable: 5369324 kB
Buffers: 102748 kB
Cached: 4466248 kB
SwapCached: 0 kB
Active: 3375660 kB
Inactive: 2973848 kB
Active(anon): 1213244 kB
Inactive(anon): 8972 kB
Active(file): 2162416 kB
Inactive(file): 2964876 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Dirty: 288 kB
Writeback: 0 kB
AnonPages: 1212740 kB
Mapped: 29724 kB
Shmem: 9168 kB
Slab: 135492 kB
SReclaimable: 107612 kB
SUnreclaim: 27880 kB
KernelStack: 2960 kB
PageTables: 18644 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6134832 kB
Committed_AS: 3401648 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 2392 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 131072 kB
DirectMap2M: 8051840 kB
smem
工具smem
是一个高级的内存报告工具,它可以提供每个进程的详细内存使用情况,包括私有内存和共享内存。
安装smem
(基于Debian的系统):
sudo apt-get install smem
使用smem
查看内存使用情况:
smem -P <process_name>
top
或ps
命令找出占用内存最多的进程,考虑终止该进程或优化其代码。如果经常出现内存不足的情况,可以考虑增加物理内存或优化系统配置。通过以上方法,你可以有效地监控和管理Linux服务器的内存使用情况。
领取专属 10元无门槛券
手把手带您无忧上云