我需要在Linux上使用TMPF。我有一些文件可以播放,我知道我有多少个文件,并且知道每个文件的大小。我如何确定我的TMPF的大小?
我正在使用坐骑程序:mount -t tmpfs -o size=?? name_tmpfs /mnt/mountpoint_tmpfs
我试图了解用于大小的价值。我通过创建4096(页面大小)字节的TMPF进行了测试,我在其中创建了一个文件,但是如果我想填充它(只有一个字节,每个示例)我会有一个"在交换上写入错误" ...我不明白要存储1个字节文件需要多少尺寸,因此对于我的"工作文件",我完全迷失了!
我发现的每个教程都使用一个随机的大小来示例,但是我真的想了解机制并了解我的工作文件所需的tmpfs尺寸(我知道有多少,每个尺寸,我可以找到一个解决方案对吗?)
谢谢您的阅读:)
文件系统包含数据和元数据。元数据通常固定在大小上,并在FS创建期间分配(nr_inodes
TMPFS安装选项)。数据也占据固定尺寸的块,无论实际文件大小如何。要查看实际数据使用情况,du -s
将做得很好:
root@localhost:/run/shm# echo > x; du -sh x
4.0K x
您可以看到,在我的内核上,tmpfs使用4096字节块来存储文件,因此每个文件的大小都将舍入至4096或乘以乘以。我创建了一个大小为4K的TMPF,并且能够创建一个1个字节文件,但不超过预期。我还能够创建960k空文件,这是我系统上TMPF上的默认Inode限制,证明数据和元数据的存储是分开的。