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

相关文章

Java调用Python的四种方法小结

《Java调用Python的四种方法小结》在现代开发中,结合不同编程语言的优势往往能达到事半功倍的效果,本文将详细介绍四种在Java中调用Python的方法,并推荐一种最常用且实用的方法,希望对大家有... 目录一、在Java类中直接执行python语句二、在Java中直接调用Python脚本三、使用Run

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚