繁体   English   中英

了解 tmpfs 大小

[英]Understand tmpfs size

我需要在 linux 上使用 tmpfs。 我有一些文件可以玩,我知道我有多少文件,我知道每个文件的大小。 我如何决定我的 tmpfs 的大小?

我正在使用挂载程序: mount -t tmpfs -o size=?? name_tmpfs /mnt/mountpoint_tmpfs mount -t tmpfs -o size=?? name_tmpfs /mnt/mountpoint_tmpfs

我试图了解大小使用什么值。 我做了一个测试,通过创建 4096(页面大小)字节的 tmpfs,我在其中创建了一个文件,但是如果我想填充它(每个示例只有一个字节),我会遇到“交换时写入错误”...我不明白存储一个 1 字节的文件需要多大的大小,所以对于我的“工作文件”,我完全迷失了!

我发现的每个教程都使用随机大尺寸作为示例,但我真的想了解机制并了解我的工作文件需要多少 tmpfs 大小(我知道有多少和每种大小,我可以找到解决方案吗? )。

感谢您阅读:)

文件系统包含数据和元数据。 元数据通常大小固定,并在 fs 创建期间分配( nr_inodes tmpfs 挂载选项)。 无论实际文件大小如何,数据也会占用固定大小的块。 要查看实际数据使用情况, du -s会做得很好:

root@localhost:/run/shm# echo > x; du -sh x
4.0K    x

如您所见,在我的内核中,tmpfs 使用 4096 字节的块来存储文件,因此每个文件的大小将四舍五入为 4096 或乘以它。 我创建了一个大小为 4k 的 tmpfs,并且我能够创建一个 1 字节的文件,但不能超过预期。 我还能够创建 960k 个空文件,这是我系统上 tmpfs 的默认 inode 限制,证明数据和元数据的存储是分开的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM