昨日举荐:每天学一个 Linux 命令(48):top

命令简介

free 命令用于显示内存的应用状况,显示可用和已用物理内存和替换内存的总数,以及内核应用的缓冲区。

语法格局

free [options]

选项阐明

-b #以Byte为单位显示内存应用状况-k #以KB为单位显示内存应用状况-m #以MB为单位显示内存应用状况-g #以GB为单位显示内存应用状况-o #不显示缓冲区调节列-s<距离秒数> #继续察看内存应用情况-t #显示内存总和列-V #显示版本信息

利用举例

查看内存应用的总和

[root@centos7 ~]# free -t              total        used        free      shared  buff/cache   availableMem:         995684      124784      473344        7784      397556      698328Swap:       2097148           0     2097148Total:      3092832      124784     2570492

周期性打印出内存应用信息

[root@centos7 ~]# free -s 10              total        used        free      shared  buff/cache   availableMem:         995684      124780      473344        7784      397560      698332Swap:       2097148           0     2097148              total        used        free      shared  buff/cache   availableMem:         995684      124780      473344        7784      397560      698332Swap:       2097148           0     2097148              total        used        free      shared  buff/cache   availableMem:         995684      124780      473344        7784      397560      698332Swap:       2097148           0     2097148              total        used        free      shared  buff/cache   availableMem:         995684      124780      473344        7784      397560      698332Swap:       2097148           0     2097148

显示内存应用状况

[root@centos7 ~]# free -m              total        used        free      shared  buff/cache   availableMem:            972         121         462           7         388         682Swap:          2047           0        2047后果信息具体阐明如下:total #内存总和used  #曾经应用的内存free  #闲暇的内存shared  #以后曾经废除不必Buffer/cache  #缓存内存数available     #理论可用内存数

Linux 在内存治理方面做的十分的好,零碎在运行一段时间后,会将临时用不到的内存转为 buff/cache,这样在程序应用到这一部分数据时,可能很快的取出,从而进步零碎的运行效率。如果你看到服务器内存残余的非常少,不用放心,真正残余的内存是 free+buff/cache的和才是理论可用的内存。如果应用程序须要内存空间时,Linux 会将缓存让出给程序应用,从而使内存达到最大化的利用率。

当大量的缓存占用内存空间时,应用程序就会应用到sawp替换分区,这样会使得零碎的运行变慢,从而影响整体运行效率。

所以,这个时候咱们须要手动去开释内存,开释内存的时候,首先执行命令 sync 将所有正在内存中的缓冲区写到磁盘中,其中包含曾经批改的文件 inode、已提早的块 I/O 以及读写映射文件,从而确保文件系统的完整性。

sync echo 1 > /proc/sys/vm/drop_caches echo 0 > /proc/sys/vm/drop_caches

Swap 是指替换分区,当可用内存少于额定值的时候,就会散会进行替换。额定值信息如下

[root@centos7 ~]# cat /proc/meminfoMemTotal:         995684 kBMemFree:          473460 kBMemAvailable:     698452 kBBuffers:            2108 kBCached:           321280 kBSwapCached:            0 kBActive:           229996 kBInactive:         132264 kBActive(anon):      39304 kBInactive(anon):     7352 kBActive(file):     190692 kBInactive(file):   124912 kBUnevictable:           0 kBMlocked:               0 kBSwapTotal:       2097148 kBSwapFree:        2097148 kBDirty:                 0 kBWriteback:             0 kBAnonPages:         38904 kBMapped:            20988 kBShmem:              7784 kBSlab:              99432 kBSReclaimable:      74176 kBSUnreclaim:        25256 kBKernelStack:        3728 kBPageTables:         3280 kBNFS_Unstable:          0 kBBounce:                0 kBWritebackTmp:          0 kBCommitLimit:     2594988 kBCommitted_AS:     230116 kBVmallocTotal:   34359738367 kBVmallocUsed:      177420 kBVmallocChunk:   34359310332 kBPercpu:            22528 kBHardwareCorrupted:     0 kBAnonHugePages:      8192 kBCmaTotal:              0 kBCmaFree:               0 kBHugePages_Total:       0HugePages_Free:        0HugePages_Rsvd:        0HugePages_Surp:        0Hugepagesize:       2048 kBDirectMap4k:       69504 kBDirectMap2M:      978944 kBDirectMap1G:           0 kB

每天学一个 Linux 命令(46):du

每天学一个 Linux 命令(47):df

在本公众号后盾回复 学命令 能够查看往期文章去零碎学习Linux系统命令。