1896_Linux中free命令小结

2024-02-07 23:28
文章标签 linux 命令 小结 free 1896

本文主要是介绍1896_Linux中free命令小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1896_Linux中free命令小结

全部学习汇总: little_bits_of_linux: 一星半点的Linux经验 (gitee.com)

查看Linux中存储的使用情况,我经常使用htop,毕竟这个命令提供的信息是十分直观的。我现在常用的一个小主机其实是我的树莓派3B,虽然算不上多么高的配置,家用还是很适合的。

这个是我的树莓派现在的一个状态,这个树莓派的配置一应该是1GB内存,但是从这里的922M以及922M + 100得到的1022M似乎都不是很准确。如果准确,要么是1024M要么应该是存储商约定的1000M。由此,考虑到了一个之前教程中看到的free命令。

从内容的组成上,看起来更加让我费解。由此,尝试去阅读一下free命令的手册来弄清楚这个小问题。

这里对每一列的内容解释说的还是很清晰的,但是从我的疑惑方面还是没能得到解答。比如,这个swap到底是RAM还是文件系统?我的这个机器上真正的RAM究竟是多么大?

这些信息都是来自于/proc/meminfo文件,我把我的树莓派上的这个文件内容导出如下:

MemTotal:         944092 kB

MemFree:           26444 kB

MemAvailable:     738568 kB

Buffers:          565900 kB

Cached:           146856 kB

SwapCached:         2456 kB

Active:           180452 kB

Inactive:         613496 kB

Active(anon):      47576 kB

Inactive(anon):    47764 kB

Active(file):     132876 kB

Inactive(file):   565732 kB

Unevictable:          16 kB

Mlocked:              16 kB

SwapTotal:        102396 kB

SwapFree:           6084 kB

Zswap:                 0 kB

Zswapped:              0 kB

Dirty:              5316 kB

Writeback:             0 kB

AnonPages:         79612 kB

Mapped:            43024 kB

Shmem:             14124 kB

KReclaimable:      79052 kB

Slab:             101180 kB

SReclaimable:      79052 kB

SUnreclaim:        22128 kB

KernelStack:        1536 kB

PageTables:         4140 kB

SecPageTables:         0 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:      574440 kB

Committed_AS:    1110212 kB

VmallocTotal:    1114112 kB

VmallocUsed:        8268 kB

VmallocChunk:          0 kB

Percpu:              416 kB

CmaTotal:         262144 kB

CmaFree:             284 kB

结合上面的信息,或许树莓派的RAM大小应该是1024MB,之所以算出来不是这些是因为上面的解释中,Total部分其实是去掉了一些保留位以及系统的部分占用?究竟是否是如此,目前还真有几分说不清楚。

结合这两个参数的描述,如果使用-h的选项的时候独到的数据应该是按照1024作为对应的进制来衡量的。

这样,做一个折算: 1000 * 1000 * 1000 / 1024 / 1024 得到的结果应该是把一般的供应商的计量方式往计算机常规数据上做了一个转换。得到的数据应该是953MB。这个其实是接近于前面描述的总量减去一部分预留的说法了,由此可以大概推测,swap可能是文件系统提供的一部分空间。

关于swap究竟是什么,我又查了一下网络上的材料。我找到了如下网页:

Swap Memory: What It Is & How It Works (phoenixnap.com)

里面开篇的描述部分:

大概描述: swap存储,通常称为交换空间,是对计算机物理RAM的硬盘或SSD (Solid State drive)。当操作系统耗尽可用的RAM时,它会在内存之间交换数据RAM和交换空间。这种机制称为交换机制,增强了内存管理效率。交换内存对于RAM有限的系统或执行内存密集型任务的系统非常重要。如果没有交换内存,当RAM容量超过时,这些系统很容易崩溃。

这么看的话,这部分存储应该就是硬盘的一部分,只是说它可以充当一部分RAM的缓存区以防RAM耗尽。

至此,这个之前稍微让我费解一点的问题基本上是弄清楚了。

这篇关于1896_Linux中free命令小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/689240

相关文章

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

python中cv2.imdecode()与cv2.imencode()的使用小结

《python中cv2.imdecode()与cv2.imencode()的使用小结》本文介绍了cv2.imencode()和cv2.imdecode()函数的使用,文中通过示例代码介绍的非常详细,对... 目录1、图片路径带中文的读取和写入1.1 读取1.2 写入2、在网络中传输图片cv2.imencod

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景: