Questions tagged «tmpfs»



1
什么设置了tmpfs的大小?充满后会发生什么?
什么设置尺寸tmpfs?(在我的计算机上,它位于/dev/shm)我可以在中看到其条目/etc/fstab,但没有其大小的表示法。使用进行检查时df -h,它似乎是系统中安装的物理内存的一半。这是默认行为吗? 另外,如果装满了怎么办?它会动态扩展,迫使其他正在运行的程序进入swap吗?tmpfs本身是否会进入swap分区? 最后,什么优先考虑到内存tmpfs或应用程序?即,如果我有tmpfs足够的内存(例如40%的物理内存),并且我的程序需要70%的物理内存,那么哪个优先?
20 linux  swap  tmpfs 

1
为什么/ dev已满?
/ dev ..已满: SERVER:/dev # df -mP /dev Filesystem 1048576-blocks Used Available Capacity Mounted on udev 12042 12042 0 100% /dev 没有文件占用空间! 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 …

3
在系统内存上,尤其是tmpfs,shm和hugepages之间的区别。
最近,我对基于Linux内核内存的各种文件系统感到好奇。 Note:就我而言,与更好地理解标题中提出的问题相比,以下问题应被视为或多或少是可选的。我在下面问他们,因为我相信回答它们可以更好地帮助我理解这些差异,但是由于我的理解有限,因此其他人可能会更好。我准备接受任何可以丰富我对标题中提到的三个文件系统之间差异的理解的答案。 最终,我认为我想挂载一个可用的文件系统,hugepages,尽管一些轻松的研究(并且仍在进行更轻松的修改)使我相信a rewritable 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 (以下是/ proc / meminfo和/ proc / cpuinfo的全文版本) 以上是怎么回事?我是否已经分配hugepages?了DirectMap内存页和hugepages? 更新 …

3
将/ 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 RAMTMP2.6内核有类似的东西吗?
16 mount  ram  tmpfs 

2
fstab选项uid和gid可以是用户组名称,还是必须是数字?
我正在学习如何在fstab中为www数据用户设置tmpfs,我想知道是否可以使用实际的用户名/组名代替数字ID(个人喜好)? 我使用的是ext4的Debian,在安装过程中使用“ 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
14 mount  fstab  tmpfs 

1
是什么可以解释对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 …

1
如何使tmpfs仅使用物理RAM而不使用交换?
如何确保tmpfs文件系统只能处理物理文件,而不使用磁盘上的交换分区? 由于我的硬盘驱动器速度慢而RAM速度快,因此我至少希望为相关安装点的RAM使用swap和/ tmpfs或禁用其磁盘使用分配更高的优先级tmpfs。
12 swap  ram  tmpfs 

1
如何手动增加/ tmp文件夹大小
我在Fedora 26的/ tmp文件夹上没有剩余空间 。这会导致一些问题。 文件夹/ tmp占用了所有可用的RAM: $ df -h /tmp Filesystem Size Used Avail Use% Mounted on tmpfs 3.9G 3.9G 12k 100% /tmp $ 那么, 我如何才能手动增加此文件夹的大小以获取更多可用空间而又不增加RAM或从中删除文件? 我的问题是类似这个和这个,但它是不同的: 在我的问题中,我需要在达到最大大小时增加文件夹的大小 提前致谢。
12 systemd  disk  tmpfs 

1
将tmpfs增加到大于物理内存的安全性如何?
我的服务器有2GB RAM和120GB SSD,以及一些RAID阵列用于存储。操作系统是Debian 8(Linux 3.16)。 我有一个MySQL密集型应用程序,它具有tmpdir= /run/mysqld,tmpfs由Debian通过/etc/default/tmpfs以下命令配置: # Size limits. Please see tmpfs(5) for details on how to configure # tmpfs size limits. TMPFS_SIZE=40%VM 以前是20%VM,大约为384M。我遇到了几个no space left on device,所以我将其增加到40%VM,但是即使有大约763M,它仍然太小。 现在,我现在应该添加更多的RAM,但是出于好奇,我想知道这里的限制。 /dev/sdd1上安装/有大约50GB的可用空间,并且速度相当快(三星850 EVO SSD) /dev/sdd5 是我的交换分区,它是3.7G(fdisk类型ID为82) TMPFS_SIZE设置为40%VM,表示/run为763M 现在我知道tmpfs可以交换了,这对我来说很好。我希望MySQL尽可能写入RAM,但是如果需要更多内存,我可以允许系统在SSD上交换它。 因此,通过我的设置,我可以将/run其设置为: 300M大吗?是。这是默认设置。 1.5GB大?是的,尝试过,MySQL占用了高达1.3GB的存储空间,并且该系统运行正常。但这还不到物理内存+交换分区的一半。 2.5GB大?这不只是物理内存,而是少于物理内存+我的交换分区的一半。 4GB大?这将完全适合一半的物理+交换 更多?像10GB?它可以利用可用空间/交换更多吗? 我猜测安全的经验法则是TMPFS_SIZE不要大于swap +一半的物理内存。我可以在不增加交换分区的情况下超越此范围吗? 另外,可以放进200%VM去/etc/default/tmpfs吗?我读过的书tmpfs(5)不知道我是否可以在这上面投入100%以上的费用。 最后,我应该改/etc/fstab而别碰/etc/default/tmpfs吗? (据了解,我仅使用来完成此操作mount -o remount,但尚未重启服务器) …
11 linux  swap  tmpfs 

4
交换tmpfs(显然是个坏主意,但是可能吗?)
这个问题源自同事之间的一个玩笑,内容是关于通过将交换文件移动到tmpfs来提高性能。显然,即使有可能,也不是一个好主意。我想知道的是,能做到吗? 我目前在Ubuntu 14.04上,但是我可以想象大多数Linux / Unix机器的过程都相似。这是我在做什么: > mkdir /mnt/tmp > mount -t tmpfs -o size=10m tmpfs /mnt/tmp > dd if=/dev/zero of=/mnt/tmp/swapfile bs=1024 count=10240 > chmod 600 /mnt/tmp/swapfile > mkswap /mnt/tmp/swapfile # So far, so good! > swapon /mnt/tmp/swapfile swapon: /mnt/tmp/swapfile: swapon failed: Invalid argument 因此,在linux或unix(我对任何解决方案都感兴趣)上,您能以某种方式在驻留在ram中的文件/分区上设置交换吗?有办法解决Invalid argument我遇到的错误吗? 再次强调一下,我不希望这是解决实际问题的解决方案。我想这只是一个有趣的实验。
11 linux  swap  tmpfs 


1
使用`/ run / shm`(以前是`/ dev / shm`)作为临时目录
在/run/shm(以前/dev/shm)中创建目录并将其像临时目录一样用于应用程序是一种好习惯吗? 背景:我正在为一个程序编写黑匣子测试,该程序对文件和目录做了很多工作。对于每次测试,我都会创建很多文件和目录,然后运行程序,然后创建预期的文件和目录集,然后运行diff进行比较。我现在有大约40个测试,它们已经花费了2秒钟以上的时间来运行。希望加快速度,我想在某种虚拟磁盘上的目录中运行测试。 在研究ram磁盘时,我偶然发现了一个带有答案的问题,指出可以在其中创建目录/dev/shm并像临时目录一样使用该目录。然而,研究了更多内容后,我偶然发现了来自debian 的Wiki页面,指出/dev/shm直接使用是错误的。我应该使用这些shm_*功能。不幸的是,这些shm_*功能似乎无法在Shell脚本中使用。 现在我很困惑。是否可以像/run/shm以前/dev/shm那样使用temp目录?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.