查看内存使用情况:free
free命令用于显示内存的使用情况,常见用法如下:
[root@localhost ~]$ free # 以KB为单位显示内存使用情况 [root@localhost ~]$ free -m # 以MB为单位显示内存使用情况 [root@localhost ~]$ free -g # 以GB为单位显示内存使用情况 [root@localhost ~]$ free -h # 自动转换单位显示内存使用情况(最常用)
输出详解:
[root@localhost ~]$ free -h total used free shared buff/cache available Mem: 1.8G 233M 1.0G 28M 589M 1.3G Swap: 2.0G 0B 2.0G # Mem、Swap:物理内存的使用情况;交换分区的使用情况 # total、used、free:总物理内存大小;已经使用的物理内存大小;空闲的物理内存大小 # shared、buff/cache、available:多个进程共享的物理内存大小;用做缓冲/缓存的物理内存大小;还可用的物理内存大小 # total 总内存 = used + free + buff/cache # available 还能用的内存 = free + buff/cache
# 如果使用到交换分区,则表明物理内存不够或内存泄漏了 # 关于 buffer 和 cache: # 我们的数据是存放在磁盘上的,数据是交给CPU进行处理的,但磁盘的运转速度很快,CPU的运转速度很慢,不可能直接把磁盘的数据直接丢给CPU进行处理,因此要经过
# 一个中间层,即内存,我们把这部分内存称为缓存(cache);相反地,CPU把数据处理完了,要存放到磁盘中,也要经过内存这个中间层,这部分内存则称为缓冲(buffer)
# 因此,数据的流向不一样,内存的角色也不一样。系统会优先预留一部分内存给 buff/cache 使用,剩下的内存再留给系统或程序使用。