标签: tmpfs

(如何)我可以作为普通(非 root)用户创建 tmpfs 吗?

该发行版是运行 2.6.35-30 Linux 内核的 Ubuntu 服务器。

我想要一个完全位于内存中的目录。没有root权限这可能吗?

linux filesystems tmpfs

49
推荐指数
4
解决办法
3万
查看次数

/run 和 /var/run 的区别

/run目录和var/run目录之间有什么区别吗?后者似乎是前者的链接。如果内容是一个并且相同,那么需要两个目录吗?

linux ubuntu directory-structure tmpfs

45
推荐指数
2
解决办法
4万
查看次数

将 /tmp 移动到 RAM

我正在尝试转向/tmpRAM 并遵守良好做法:

  • /var/tmp不应放置在 中tmpfs,因为它必须在重新启动后存活

  • 不是/tmp作为独立安装tmpfs,而是依赖/dev/shm/run/shm

然而,事情在 2.6 和 3.2 内核之间发生了变化:

更改 tmpfs 文件系统的配置和默认值

在 3.2 内核上,RAMTMP=yes/etc/default/tmpfs.

我的问题是:如何使用旧内核实现这一目标?

我的选择不是修改 /etc/fstab 也不是:

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
Run Code Online (Sandbox Code Playgroud)

RAMTMP2.6 内核有类似的东西吗?

mount tmpfs ram

28
推荐指数
3
解决办法
4万
查看次数

什么设置了 tmpfs 的大小?当它满时会发生什么?

什么设置的大小tmpfs?(在我的机器上,它驻留在 中/dev/shm)我可以看到它在 中的条目/etc/fstab,但看不到它的大小。检查时df -h,它似乎是系统中安装的物理内存大小的一半。这是默认行为吗?

另外,如果满了会怎样?它是否会动态扩展以迫使其他正在运行的程序进入swaptmpfs本身是否进入swap分区?

最后,什么优先考虑内存tmpfs或应用程序?即,如果我有tmpfs足够的内存(例如 40% 的物理内存)并且我的程序需要 70% 的物理内存,那么哪一个获得优先级?

linux swap tmpfs

26
推荐指数
1
解决办法
2万
查看次数

为什么 /dev 已满?

/dev.. 已满:

SERVER:/dev # df -mP /dev
Filesystem         1048576-blocks      Used Available Capacity Mounted on
udev                     12042     12042         0     100% /dev
Run Code Online (Sandbox Code Playgroud)

没有占用空间的文件!

SERVER:/dev # find . -ls | sort -r | head -2
2790517    0 -rw-r--r--   1 root     root            0 Dec 16 10:04 ./devnull
1490005831    0 -rw-------   1 root     root            0 Dec 16 07:54 ./nul
120387    0 lrwxrwxrwx   1 root     root           12 Dec 03 05:42 ./disk/by-uuid/xx..foo..xx -> ../../dm-13
SERVER:/dev # du -sm * 2>/dev/null | sort -nr | head -4
1 …
Run Code Online (Sandbox Code Playgroud)

linux disk-usage tmpfs

18
推荐指数
1
解决办法
8542
查看次数

如何使 tmpfs 仅使用物理 RAM 而不是交换?

如何确保tmpfs文件系统只能处理物理而不使用磁盘上的交换分区?

由于我有一个较慢的 HDD 和一个快速的 RAM,我希望至少优先考虑 RAM 使用swap和/tmpfs或禁用tmpfs相关挂载点的磁盘使用。

swap tmpfs ram

16
推荐指数
1
解决办法
9285
查看次数

在系统内存上...特别是`tmpfs、`shm、`和`hugepages...`之间的区别

我最近对各种基于 Linux 内核内存的文件系统很好奇。

Note:就我而言,与更好地理解标题中提出的问题相比,以下问题或多或少应该被视为可选问题。我在下面问他们,因为我相信回答他们可以更好地帮助我理解差异,但由于我的理解是有限的,因此其他人可能更了解。我准备接受任何可以丰富我对标题中提到的三个文件系统之间差异的理解的答案。

最终,我想我想挂载一个可用的文件系统,hugepages,尽管一些轻量的研究(以及更轻量的修补)让我相信 arewritable hugepage mount不是一种选择。我错了吗?这里的机制是什么?

还有关于 hugepages:

     uname -a
3.13.3-1-MANJARO \
#1 SMP PREEMPT \
x86_64 GNU/Linux

    tail -n8 /proc/meminfo
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:     8223772 kB
DirectMap2M:    16924672 kB
DirectMap1G:     2097152 kB
Run Code Online (Sandbox Code Playgroud)

(这里是/proc/meminfo/proc/cpuinfo的全文版本)

以上是怎么回事?难道我已经分配hugepages?有之间的差异DirectMap内存页面和hugepages?

更新在@Gilles 的推动下,我在上面又添加了 4 行,似乎必须有所不同,尽管我DirectMaptail昨天拉之前从未听说过......也许DMI还是什么?

只是多一点...

hugepages努力失败,并假设任何图像文件的硬盘备份,挂载循环的风险tmpfs?swapped什么?我的文件系统是最坏的情况吗?我知道tmpfs是挂载的文件系统缓存 - …

linux filesystems memory shared-memory tmpfs

16
推荐指数
1
解决办法
9862
查看次数

root 的组权限在 /tmp 中不起作用

我在 /tmp 目录中遇到了奇怪的行为。虽然属于一个组的用户有权限读取/写入文件,他不能这样做。

在这个例子中,我/tmp/test.txt以 user 的身份创建了一个新文件max。我给它777组的权限,使该文件所属的组root,但用户root仍无法对其进行编辑。

su max
touch /tmp/test.txt
chmod 777 /tmp/test.txt

su root
chown max:root /tmp/test.txt

# ls -l /tmp/test.txt 
-rwxrwxrwx 1 max root 0 26. Feb 12:08 test.txt

# echo "foobar" > /tmp/test.txt
bash: /tmp/test.txt: Permission denied
Run Code Online (Sandbox Code Playgroud)

当移动test.txt到不同的目录时,一切都按预期工作。

/tmp 是通过以下选项通过 fstab 挂载的 tmpfs:

tmpfs       /tmp    tmpfs   nodev,nosuid,size=5G    0 0
Run Code Online (Sandbox Code Playgroud)

运行时ls -l /,tmp 文件夹如下所示:

drwxrwxrwt  20 root root   640 26. Feb 12:01 tmp/
Run Code Online (Sandbox Code Playgroud)

我正在运行 Manjaro,它是 Arch …

arch-linux permissions mount tmpfs manjaro

16
推荐指数
1
解决办法
5260
查看次数

fstab 选项 uid 和 gid 可以是用户组名称还是必须是数字?

我正在学习如何在 fstab 中为我的 www-data 用户设置 tmpfs,我想知道是否可以使用实际的用户/组名称代替数字 ID(个人偏好)?

我在 Debian 上使用 ext4,在安装过程中用“msdos”格式化。

它似乎有效,但我想知道这是 Debian 特定的功能还是跨平台工作(我喜欢可移植性)?

这是我所拥有的:

$ vim /etc/fstab

# PHP temporary files.
tmpfs /tmpfs/php-session tmpfs defaults,size=512M,mode=1700,uid=www-data,gid=www-data,noexec,nodev,nosuid 0 0
tmpfs /tmpfs/php-upload  tmpfs defaults,size=256M,mode=1700,uid=www-data,gid=www-data,noexec,nodev,nosuid 0 0
Run Code Online (Sandbox Code Playgroud)

mount fstab tmpfs

15
推荐指数
2
解决办法
5万
查看次数

什么可以解释这种奇怪的稀疏文件处理/在 tmpfs 中?

在我的ext4文件系统分区上,我可以运行以下代码:

fs="/mnt/ext4"

#create sparse 100M file on ${fs}
dd if=/dev/zero \
   of=${fs}/sparse100M conv=sparse seek=$((100*2*1024-1)) count=1 2> /dev/null

#show its actual used size before
echo "Before:"
ls ${fs}/sparse100M -s

#setting the sparse file up as loopback and run md5sum on loopback
losetup /dev/loop0 ${fs}/sparse100M 
md5sum /dev/loop0

#show its actual used size afterwards
echo "After:"
ls ${fs}/sparse100M -s

#release loopback and remove file
losetup -d /dev/loop0
rm ${fs}/sparse100M
Run Code Online (Sandbox Code Playgroud)

这产生

Before:
0 sparse100M
2f282b84e7e608d5852449ed940bfc51  /dev/loop0
After:
0 sparse100M
Run Code Online (Sandbox Code Playgroud)

在 tmpfs 上做同样的事情: …

ext4 sparse-files tmpfs

15
推荐指数
1
解决办法
1171
查看次数