Linux常用工具介绍——free

在Linux系统中,我们查看、监控系统内存使用情况,一般最常用的命令就是free,

关于free的实现,其实是调用linux下的/proc/meminfo文件。
[[email protected] /]# free -V
free from procps-ng 3.3.9

[[email protected] /]# free
             total       used       free     shared    buffers     cached
Mem:       1010884     935560      75324       1560          0      22996
-/+ buffers/cache:     912564      98320
Swap:      2129916     565404    1564512


指 标


指 标 意 义


total


总的物理内存大小。total=used + free


used


已经使用的物理内存。一般情况这个值比较大。used=buffers + cached (maybe add shared also)+ -buffers/cache(used)


free


完全未使用的物理内存


shared


应用程序共享的物理内存


buffers


缓存,主要用于块设备缓存,例如用户目录、inode值等(ls大目录可以看到这个值增加)


cached


缓存,主要用于缓存文件。


指 标


指 标 意 义


前个值表示-buffers/cache


应用程序使用的内存大小,used减去缓存值:-buffers/cache=used-buffers-cached


后个值表示+buffers/cache


所有可供应用程序使用的内存大小,free加上缓存值:+buffers/cache=free+buffers+cached

下面是对buffers和cached具体价绍下。

buffers:是指用来给块设备做的缓冲大小,它只记录文件系统的metadata以及 tracking in-flight pages.

cached:是用来给文件做缓冲。

那就是说:buffers是用来存储目录里面有什么内容,权限等等。而cached直接用来缓存我们打开的文件

也就是说buffers是用于存放要输出到disk的块设备数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。

total = used + free

1010884 =  936044 + 74840

-/+buffers/cache(used) 表示第三行的used列的值。-/+buffers/cache(free) 表示第三行free列的值

-/+buffers/cache(used) = used -  buffers - cached

911656 = 936044 - 0 - 24388

-/+buffers/cache(free) = free + buffers + cached

99228 = 74840 + 0 + 24388

二、现在我们来看新版,

[[email protected] /]# free -V
free from procps-ng 3.3.10

[[email protected] /]# free
              total        used        free      shared  buff/cache   available
Mem:        1009304      598164      252724        6796      158416      257044
Swap:       2097148           0     2097148

2016年之后发布的内核, "-/+ buffers/cache" 例被取代了。

内存分配改为total = used + free + cache

可用内存直接看available了。

参考:http://www.linuxatemyram.com/

时间: 2024-10-12 01:49:12

Linux常用工具介绍——free的相关文章

Linux性能工具介绍

l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问题,除了使用在线调试.日志以外,操作系统提供了丰富的工具让你透视应用程序,问题定位分析的效率更高 l  介绍Linux工具使用资料很多,这里不介绍工具使用,而是告诉工具背后数字的含义,以及我们平时对工具输出常见的误解 CPU高-uptime l  uptime和top命令都会显示最近1分钟.5分钟.

Linux常用工具安装

1 Linux常用开发工具安装 1 安装Mysql ①基本安装 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm: sudo rpm -ivh mysql57-community-release-el7-10.noarch.rpm : yum -y install mysql-server: service mysqld restart: ②设置密码,基本安装完成后root账号是没有密码的,我们可以给ro

Linux常用命令介绍

Linux常用命令示例: 在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数"--help"或者用"man 命令"可以取得命令的详细用法. (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的"Tab"键补全文件名的后面部分,若输入的字符是多个文件名的起

测试工作中常用工具介绍

测试工作中的常用工具总结 SwitchHosts 这个软件可以存储多个Hosts配置方案并配有切换方案功能,以方便在测试的过程中,应对不同的测试环境实现自由切换Hosts方案的功效. OpenVPN 对于数据库的操作是建立在远程的基础上的,所以在公用网络上建立专用网络成了必要.OpenVPN GUI可以通过用户名和密码让用户连接到专用的VPN网络上,从而让用户远程访问服务器端应用成为可能. SecureCRT 用来连接服务器的虚拟终端,可以模拟远程服务器端的终端在对服务器进行操作,比如查看测试日

linux常用工具集合

1.前言 本文收集或记录工作过程中用到的工具,方便自己,分享予有缘人. 2.测试环境 CentOS release 6.5 (Final) 3.工具介绍 3.1.tcpdump 3.1.1.作用 监听某个端口并抓包 3.1.2.安装 yum -y install tcpdump 3.1.3.使用范例 tcpdump port 21 -nA 3.2.nmap 3.2.1.作用 扫描某台主机开启的服务端口 3.2.2.安装 yum -y install nmap 3.2.3.使用范例 nmap ww

【linux 常用工具总结】sed 工具使用总结

在日常工作中,我们往往会在使用Unix/Linux系统时遇到一些处理复杂文本的情况, 这些文本直接处理可能会比较麻烦,往往会花费我们很多时间,给我们的工作带来一定的困扰.事实上,Unix/linux系统提供了一些强大高效的文本处理工具来帮助我们进行复杂文本的处理, 掌握这些工具的使用可以事半功倍. 本文主要对linux三剑客(sed, awk, grep)之一的sed工具进行介绍,并对该工具的使用进行简单的说明. 1.1  sed工具使用总结 sed, 全称 stream editor, 是一种

空间管理常用工具介绍

作为运维人员,空间的管理是必修课,当然linux系统提供的关于空间管理的工具是非常多的,今天就给大家分享一些比较常用的内存空间以及磁盘空间管理工具. 一.空间占用查看工具 1.内存空间使用状态查看工具 free [OPTION] -m: 以MB为单位 -g: 以GB为单位 2.挂载的文件系统占用空间信息的查看工具 df [OPTION]... [FILE]... -H 以1000为单位 -T 文件系统类型 -h: human-readable -i:inodes instead of block

Linux常用工具之XFTP、Xshell配置

Xftp是一个基于 MS windows 平台的功能强大的SFTP.FTP文件传输软件.使用了 Xftp 以后,MS windows 用户能安全地在UNIX/Linux 和 Windows PC 之间传输文件.-------摘自度娘~ 其实Xftp就是一款PC对虚拟机的上传.下载传输的工具,例如,在虚拟机搭建tomcat环境,搭建禅道等,都需要借助这款工具. Xftp和Xshell是可以配套使用的,所以小七这边把2款工具结合到一起介绍使用. Xftp xftp左边红框对应显示的是PC端的文件,右

Linux常用工具集锦

vnc-win32 VNC (Virtual Network Computer)是虚拟网络计算机的缩写.VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美. 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect.大多数情况下用