了解tmpfs的大小

问题描述 投票:-2回答:1

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

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

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

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

谢谢你阅读:)

linux filesystems mount tmpfs
1个回答
-1
投票

文件系统包含数据和元数据。元数据通常是固定大小的,并在创建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限制,证明数据和元数据的存储是分开的。

© www.soinside.com 2019 - 2024. All rights reserved.