该发行版是运行 2.6.35-30 Linux 内核的 Ubuntu 服务器。
我想要一个完全位于内存中的目录。没有root权限这可能吗?
/run目录和var/run目录之间有什么区别吗?后者似乎是前者的链接。如果内容是一个并且相同,那么需要两个目录吗?
我正在尝试转向/tmpRAM 并遵守良好做法:
/var/tmp不应放置在 中tmpfs,因为它必须在重新启动后存活
不是/tmp作为独立安装tmpfs,而是依赖/dev/shm或/run/shm
然而,事情在 2.6 和 3.2 内核之间发生了变化:
在 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 内核有类似的东西吗?
什么设置的大小tmpfs?(在我的机器上,它驻留在 中/dev/shm)我可以看到它在 中的条目/etc/fstab,但看不到它的大小。检查时df -h,它似乎是系统中安装的物理内存大小的一半。这是默认行为吗?
另外,如果满了会怎样?它是否会动态扩展以迫使其他正在运行的程序进入swap?tmpfs本身是否进入swap分区?
最后,什么优先考虑内存tmpfs或应用程序?即,如果我有tmpfs足够的内存(例如 40% 的物理内存)并且我的程序需要 70% 的物理内存,那么哪一个获得优先级?
/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) 如何确保tmpfs文件系统只能处理物理而不使用磁盘上的交换分区?
由于我有一个较慢的 HDD 和一个快速的 RAM,我希望至少优先考虑 RAM 使用swap和/tmpfs或禁用tmpfs相关挂载点的磁盘使用。
我最近对各种基于 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 行,似乎必须有所不同,尽管我DirectMap在tail昨天拉之前从未听说过......也许DMI还是什么?
只是多一点...
hugepages努力失败,并假设任何图像文件的硬盘备份,挂载循环的风险tmpfs?是swapped什么?我的文件系统是最坏的情况吗?我知道tmpfs是挂载的文件系统缓存 - …
我在 /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 …
我正在学习如何在 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) 在我的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 上做同样的事情: …
tmpfs ×10
linux ×5
mount ×3
filesystems ×2
ram ×2
swap ×2
arch-linux ×1
disk-usage ×1
ext4 ×1
fstab ×1
manjaro ×1
memory ×1
permissions ×1
sparse-files ×1
ubuntu ×1