浅谈top与free汇总

发布时间 2023-04-08 19:11:29作者: 郭慕荣

top命令:如下图
top -21:17:18 表示当前时间;up 323 days,9:42 表示上电到现在的时长;3 users 表示当前登录的用户个数;load average:26.08,26.98,28.61 表示1分钟,5分钟,15分钟 CPU的负载均衡
Tasks:670 total 表示操作系统总共运行了多少个任务;1 running 表示正在执行的任务个数;669 sleeping 表示睡眠的任务(不占CPU资源);0 stopped 表示并停止的任务个数;0 zombie 表示有多少个僵尸进程(没有父进程,不占CPU,但是占用内存资源)
%Cpu(s): s代表多个cup,按1将会将所有的cpu全部显示出来;49.0 us 表示用户程序占用CPU百分比;0.5 sy 表示系统进程占CPU百分比;0.0 ni 表示用户进程空间内改变过优先级的进程占cpu百分比 ;50.4 id 表示剩余的cpu百分比; 0.0 wa 表示等待cpu百分比(当它大于0s时表示系统有IO操作);0.0 hi 表示硬件中断占cpu百分比;0.0 si 表示软件中断占比百分比;0.0 st 表示被偷走的所占cpu百分比(安装虚拟机后,被虚拟机使用的百分比)
KiB Mem:总内存 total;剩余内存 free;已使用内存;已使用缓冲区 (高速缓冲区)buffer/cache
KiB Swap:总共交换区内存 total;已使用交换区内存 used;剩余交换区内存;可使用交换区内存
PID:进程号;USER:所属用户;PR NI 用户优先级,NI越高优先级越小;VIRT:虚拟内存;RES:占用物理内存;SHR:占用共享内存;S:运行状态 s睡眠 R运行;cpu:按PID(父进程)显示cpu最大的进程;MEM:按MB显示占用内存最大的进程;TIME;进程运行的时间;COMMAND:进程名称
注:
1、%Cpu(s)这个s是几,就是该服务器有几颗CPU,一颗CPU使用率为100%,假设有s为10,那么10块CPU使用率总计1000%
2、zombie 僵尸进程会占用内存,内存溢出后操作系统无法正常使用;如果僵尸进程持续的增长而无法杀死,只有重启操作系统方能恢复正常

free命令汇总
total:总共多少内存;
used:已分配出去物理内存(缓存高速缓冲区(buffer/cached));
free:剩余的物理内存;
buffer/cache:已分配的buffer/cache已经使用物理内存的;
available:显示还可以被应用程序使用的物理内存大小
Swap:如果交换内存被使用说明服务器的物理内存已经被使用完

总结:free命令只是查看内存情况,包括总的内存大小、剩余内存大小、内存交换区域大小等情况。其中top命令的输出信息中就包括了内存信息情况,在free信息模块中,其中单位是k。可以用free命令来查看内存使用情况, 当然也可以配参数, 比如free -m 是以M为单位来显示。top是一个动态命令, 可以查看进程和内存的动态情况, 当输入top后, 信息在动态显示, 此时如果输入M, 则是按进程使用内存大小来排序, 如果输入P, 则是按照进程占用cpu的大小排序。