top命令是一个实时的系统监视工具,可以动态显示系统中各个进程的资源占用情况,包括CPU和内存使用率。
top输出示例
top15:27:36up1day,2:34,2users,loadaverage:0.25,0.30,0.20Tasks:123total,1running,122sleeping,0stopped,0zombie%Cpu(s):2.3us,1.1sy,0.0ni,96.6id,0.0wa,0.0hi,0.0si,0.0stKiBMem:8192000total,3256724used,4935276free,204800buffersKiBSwap:2097148total,0used,2097148free.2560000cachedMemPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND1234root200123456345672345S0.10.40:05.23some_processhtop命令htop是top命令的一个增强版,提供了一个更加友好的用户界面和更多的功能。
htop输出示例
htop会启动一个交互式的界面,显示类似以下的信息:
1[task1234]root10123456345672345S0.10.40:05.23some_processvmstat命令vmstat命令可以报告关于系统的整体性能,包括内存、CPU、I/O等。
vmstat1输出示例
procs-----------memory------------swap------io-----system-------cpu-----rbswpdfreebuffcachesisobiboincsussyidwast100493527620480025600000000000000100005.cat/proc/meminfo命令
cat/proc/meminfo命令直接读取Linux内核暴露的内存信息文件,提供详细的内存统计信息。
cat/proc/meminfo输出示例
MemTotal:8192000kBMemFree:4935276kBMemAvailable:3256724kBBuffers:204800kBCached:2560000kBSwapTotal:2097148kBSwapFree:2097148kB...free-m与free-g命令free命令可以通过添加参数来以不同的单位显示内存信息,例如以MB或GB为单位。
free-m#以MB为单位free-g#以GB为单位输出示例(以MB为单位)
|totalusedfreesharedbuff/cacheavailable
|Mem:81923256493550020483256
|Swap:204802048
虽然df命令主要用于查看磁盘空间使用情况,但它也能间接反映内存的使用情况,特别是当使用tmpfs文件系统时。
df-h输出示例
A1:"available"列表示系统估计的可用于启动新应用程序的内存量,而不会触发交换(swap),这包括了未被使用的物理内存和可以被回收的缓存和缓冲区。
Q2:top命令中的"RES"和"VIRT"列有什么区别?
A2:"RES"列显示的是进程实际使用的物理内存大小,不包括交换空间,而"VIRT"列显示的是进程使用的虚拟内存大小,包括所有代码段、数据段和共享库,加上交换空间。