procps工具集 ----Linux中的可用内存指的是什么?

https://gitlab.com/procps-ng/procps

free - Report the amount of free and used memory in the system
kill - Send a signal to a process based on PID
pgrep - List processes based on name or other attributes
pkill - Send a signal to a process based on name or other attributes
pmap - Report memory map of a process
ps - Report information of processes
pwdx - Report current directory of a process
skill - Obsolete version of pgrep/pkill
slabtop - Display kernel slab cache information in real time
snice - Renice a process
sysctl - Read or Write kernel parameters at run-time
tload - Graphical representation of system load average
top - Dynamic real-time view of running processes
uptime - Display how long the system has been running
vmstat - Report virtual memory statistics
w - Report logged in users and what they are doing
watch - Execute a program periodically, showing output fullscreen

1、从meminfo文件中查看可用内存:

从Linux kernel-3.14和2.6.27+ 开始,在/proc/meminfo中提供了可用内存MemAvailable值。

kernel 中的available 介绍:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

检查/proc/meminfo文件,通过将“MemFree + Buffers+ Cached”相加,预估有多少可用内存,这在十年前是可以,但是在今天肯定是不对的。

因为缓存包含存不能释放的page cache,例如shared memory segments、tmpfs、ramfs,它不包括可收回的slab内存,比如在大多数空闲的系统中,存在很多文件时,它会占用大量的系统内存。

在系统没有发生交换时,预估需要多少available内存才可以启动新的应用程序。这个available字段不同于cache或free字段所提供的数据,它除了要考虑到page cache,还要考虑到当项目在使用时,并不是所有的slabs都能被回收这一情况。

从proc/meminfo文件中查看可用内存:

2、使用free命令查看可用内存:

我们一般都使用“free”命令来获得系统的内存使用情况,但是一些老版本的的“procps”包没有包含查看“Available”的参数,可以通过升级“procps”程序来查看“Available”内存值。

procps升级方式(需要大于等于autoconf-2.69支持)

# git clone https://gitlab.com/procps-ng/procps.git

# cd procps

# ./autogen.sh

# ./configure && make&& make install

查看不同free版本显示可用内存的区别:

/usr/bin/free是系统自带的命令。

/usr/local/bin/free是下载最新的procps包编译安装的命令。

时间: 2024-10-16 15:35:11

procps工具集 ----Linux中的可用内存指的是什么?的相关文章

【转】如何在 Linux 中查看可用的网络接口

原文:https://www.cnblogs.com/qianpangzi/p/10563979.html 查看ubuntu系统当前的可用的网络接口.方法如下 ----------------------------------------------------------------------------------------- 在我们安装完一个 Linux 系统后最为常见的任务便是网络配置了.当然,你可以在安装系统时进行网络接口的配置.但是,对于某些人来说,他们更偏爱在安装完系统后再进

使用ps、top、ps_mem命令找出Linux中的最大内存消耗过程

使用ps.top.ps_mem命令找出Linux中的最大内存消耗过程 2020-02-08 16:06:59作者:自力稿源:云网牛站 您可能已经看到Linux系统多次消耗过多的内存,如果是这种情况,那么最好的办法是识别在Linux计算机上消耗过多内存的进程.使用top命令和ps命令可以很容易地识别出它,我曾经同时检查这两个命令,并且都得到了相同的结果. 使用ps命令在Linux中查找最大内存消耗过程 ps命令用于报告当前进程的快照,ps命令代表进程状态,这是一个标准的Linux应用程序,用于查找

Linux中的常用内存问题检测工具

原文地址:http://blog.csdn.net/jinzhuojun/article/details/46659155 C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题.如果crash的地方正是内存使用错误的地方,说明你人品好.如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了.当然,祼看code打log是一个办法,但其效率不是太高,尤其是在运行成本高或重现概率低的情况下.另外,静态检查

Linux中CPU与内存性能监测

在系统维护的过程中,随时可能有需要查看 CPU 使用率内存使用情况的需要,尤其是涉及到JVM,程序调优的情况,并根据相应信息分析系统状况的需要. top命令 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令为 q (在 top 运行中敲 q 键一次). 可以直接使用top命令

Linux计算真实可用内存

---恢复内容开始--- free命令显示了Linux系统中物理内存.交换分区的使用统计信息. 可用内存 = free + buffers + cached 第一行为 物理内存使用统计: 标题 说明 total 物理内存总量total=used+free used 已使用内存总量,包含引用使用量+buffer+cached free 空闲内存总量 shared 共享内存总量 buffers 块设备所占用的缓存 cached 普通文件数据占用的缓存 available 当前可用内存总量,不包含虚拟

(转)Linux中显示空闲内存空间的free命令的基本用法

这篇文章主要介绍了Linux系统中free命令的基本用法,用free命令查看内存空余信息是Linux系统入门学习中的基础知识,需要的朋友可以参考下 free 命令显示系统使用和空闲的内存情况,包括物理内存.交互区内存(swap)和内核缓冲区内存 参数 -b 显示内存的单位为字节-k 显示内存的单位为 KB-m 显示内存的单位为 M-o 忽略缓冲区调节列-t 总和信息-s<时间> 每隔指定时间执行一次命令,单位为s-h 以可读形式显示容量,需要free -V显示版本大于3.3-V 版本信息 示例

Linux中显示空闲内存空间的free命令的基本用法

free 命令显示系统使用和空闲的内存情况,包括物理内存.交互区内存(swap)和内核缓冲区内存 参数 -b 显示内存的单位为字节-k 显示内存的单位为 KB-m 显示内存的单位为 M-o 忽略缓冲区调节列-t 总和信息-s<时间> 每隔指定时间执行一次命令,单位为s-h 以可读形式显示容量,需要free -V显示版本大于3.3-V 版本信息 示例 例1 [email protected]:/home/tnak # free -s 3 #每3秒执行一次 [email protected]:/h

在 Linux 中热添加内存(Suse11)

使用vmware vcenter5.5为Suse 11动态添加内存后,使用free -m查看,发现虚拟机内存没有任何更改. 查了下资料,发现在suse11下,需要先加载动态添加内存模块,然后操作如下: # modprobe acpiphp # modprobe acpi-memhotplug # grep -v online /sys/devices/system/memory/*/state 说明:acpohhp模块为检测热添加设备的模块,acpi_memhotplug为热添加模块. 如果有内

使用工具连接linux中的mysql8.0

在搭建完LNMP环境后用Navicate/mysql Workbench连接出错 遇到这个问题首先到mysql所在的服务器上用连接进行处理 1.连接服务器: mysql -u root -p 2.看当前所有数据库:show databases; 3.进入mysql数据库:use mysql; 4.查看mysql数据库中所有的表:show tables; 5.查看user表中的数据:select Host, User,Password from user; 6.修改user表中的Host:upda