我的机器有很多内存,所以我搬进~/.cache/google-chrome了/tmptmpfs RAM 磁盘。这使得浏览器运行速度更快并减少 SSD 使用量。当我重新启动时,一切都会消失,但会再次重新创建。一切皆好。
理论上,我~/.cache也可以把所有东西都搬到那里。
~/.cache但在实践中,某些包(ab)用于除临时可重现数据之外的其他用途的可能性有多大?
我决定尝试一下并这样做:
$ mv ~/.cache ~/.cache.old
$ ln -s /tmp/home/ray/.cache ~/.
Run Code Online (Sandbox Code Playgroud)
然后将其添加到我的~/.profile:
mkdir -p /tmp/home/ray/.cache
Run Code Online (Sandbox Code Playgroud)
到目前为止,重新启动后一切正常。删除 .cache.old 将释放大约 2G 的大部分旧文件。
如果我确实遇到了任何滥用 .cache 的包,我可以教.profile为该特定情况将符号链接添加回真实目录。
我已经运行了三年多了,没有出现明显的问题。
一段时间以来,我一直想让我们在我的 Ubuntu 系统上使用 ramdisk,并且已经在线阅读了一些内容。大多数建议都围绕使用 /dev/shm 将文件移动到 RAM 上。
我想尝试一下,所以我将六个 1GB 的文件复制到 /dev/shm,但根据 gnome-system-monitor,我的 RAM 使用量没有超过 1.4GB。这是 /dev/shm 的操作方式,还是我需要做/使用其他东西来确保文件存储在 RAM 中而不是 HDD 上。
我使用 ramdisk 的原因是为了加速我在这台机器上运行的分析。目前它最多使用机器中安装的 24GB 中的大约 1.6GB,所有额外的 RAM 无所作为似乎有点遗憾。
我有一个 shell 脚本,我想在每次注销、关机或重启时自动运行。
有谁知道我可以在 Ubuntu 10.10 中在哪里配置它?
我有当前的场景:
16GB 或内存。大多数情况下,大约有 10~12GB 未使用
几乎从不安装/删除软件,这是一个成熟的系统
每周只重启一次,所以(重新)启动时间无关紧要
/usr 大约 8GB
HDD 很慢,在不久的将来没有预算来改变它
安装/tmp如tmpfs在fstab没有奇迹般的表现
我刚刚有了一个疯狂的想法:
是否有可能以某种方式使用我的 RAM 来“存储” /usr?
也就是说,在启动时,它/usr从 HDD读取当前内容并将其复制到 atmpfs并将其挂载为/usr?
如果可能,关闭时是否还将(可能已更新)内容刷新回 HDD?或者也许让我在最终需要安装/删除新软件或更新时轻松“暂时切换回 HDD”?
欢迎任何方法,即用型命令将受到高度重视。
谢谢!
我花了过去几个小时(不是几个小时,几个小时!)阅读不同的页面和有关如何设置 tmpfs/RAMDisk 的问题。他们都说了不同的话,并说了我应该和不应该包括哪些文件系统,所以我真的很感激对此有一个结论性的、更新的答案。
我有 16GB RAM,我想将 6-8GB 专用于 RAM 磁盘。
1) 我计划将/tmp、/var/cache、 和~/.cache添加到 RAM 磁盘(以及 Firefox profile-sync-daemon)。关于添加内容还有其他建议吗?我也读过关于搬家的文章/var/lock,/var/run但既然它是从的,/var那是可取的吗?
2)我经常运行LaTeX(特别是LuaLaTeX),所以我想也许我可以将其安装在RAM中而不是实际的SSD上,看看它是否运行得更快?或者我可以移动/var/lib/texmf到~/.texmf-varRAM 吗?我不知道,所以我很感激您的建议!
为了避免对我的 SSD 进行无用的写入,我已通过以下方式将/var/log(和/tmp)移至 RAM /etc/fstab:
cat >> /etc/fstab <<'EOT'
tmpfs /tmp tmpfs defaults,size=1g 0 0
tmpfs /var/log tmpfs defaults,nosuid,nodev,noatime,mode=0755,size=5% 0 0
EOT
Run Code Online (Sandbox Code Playgroud)
但从那以后我没有/var/log/syslog文件。
我认为这是因为/var/log在rsyslogd启动时尚未安装,但是在手动重新启动服务时(当我确定/var/log已安装时)它仍然不起作用。
我正在使用:
我对使用 tmpfs 的 /tmp 是否尊重size我在以下文件中提供给它的参数感到困惑/etc/fstab:
我的 fstab 条目现在显示为:
\nroot_pool/var/tmp /tmp /var/tmp zfs rw,nodev,nosuid 0 0\ntmpfs /tmp tmpfs rw,nodev,nosuid,noexec,nr_inodes=5k,size=2G,mode=1777 0 0\ntmpfs /dev/shm tmpfs defaults,nodev,nosuid,nr_inodes=5k,mode=700,size=4G 0 0\n\nRun Code Online (Sandbox Code Playgroud)\n但根据 du 的说法,它使用了我的一半内存(我理解这是默认值),而不是我打算分配给它的大小。
\n ~ df /tmp\nFilesystem 1K-blocks Used Available Use% Mounted on\ntmpfs 65921428 0 65921428 0% /tmp\nRun Code Online (Sandbox Code Playgroud)\n那么该size参数根本没有任何作用吗?\n我正在使用 Ubuntu 20.04
编辑我可以手动安装它
\nsudo mount -oremount,size=4G /tmp\nRun Code Online (Sandbox Code Playgroud)\n当我这样做时,/tmp预期是 20.04 GB。
编辑:系统状态:
\n\xe2\x97\x8f tmp.mount - Temporary Directory (/tmp)\n Loaded: loaded …Run Code Online (Sandbox Code Playgroud) 这个问题是在延续这个问题。我下载了很多小文件(几 MB),完成后将其删除。那么,如果我的文件系统小于特定大小,我是否可以将所有更改保存到我的文件系统中?例如,如果我将限制设置为 128 MB,则该大小以下的所有文件都将保存到 RAM 中,并且仅在关机前保存到 HDD。
我想在/tmp没有 fstab 条目的情况下使用tmp.mount
但是在 Ubuntu 20.04 LTS 上,它似乎不起作用。
user@user-x1:~$ systemctl status tmp.mount
Unit tmp.mount could not be found.
user@user-x1:~$ sudo systemctl enable tmp.mount
Failed to enable unit: Unit file tmp.mount does not exist.
user@user-x1:~$ sudo systemctl cat tmp.mount
No files found for tmp.mount.
user@user-x1:~$ cat /usr/share/systemd/tmp.mount
# SPDX-License-Identifier: LGPL-2.1+
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU …Run Code Online (Sandbox Code Playgroud) 我想扩展我的来宾分区的大小,或者弄清楚如何将东西从来宾分区复制到我的普通/home目录。
(由于其他一些问题,我只能Xorg以访客身份运行,但我可以以自己或 root 身份登录虚拟控制台。)
这是动机:我想下载一个大文件。它比我的来宾文件系统大。但是我的真实驱动器上有足够的空间 ,我只是无法以图形方式登录它。
所以我试图建立一个“管道”来从 tmpfs 中取出文件。我做了:
su -u myself
#catch
mkdir ~/receiver_dir
sudo su
cd /tmp/guest-lkj567UIO/
#throw
ln -s mario_pipe /home/myself/receiver_dir
chown -R guest-lkj567UIO /home/myself/receiver_dir
chown -R guest-lkj567UIO /tmp/guest-lkj567UIO/mario_pipe
chmod -R a+rw /home/myself/receiver_dir
chmod -R a+rw /tmp/guest-lkj567UIO/mario_pipe
su -u guest-lkj567UIO
cd /tmp/guest-lkj567UIO
cd mario_pipe
touch something #success!
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试 torrent 时/tmp/guest-lkj567UIO/mario_pipe,传输说我没有写权限。但看起来我只是在那里写的?并且每个人(a+rw)实际上都可以在那里写字?
也许这表明我实际上并不理解chown,chmod但他们的man页面中没有任何内容弹出。
我的主磁盘是 SSD,因此为了通过减少写入来保持其使用寿命,我遵循了一些建议,并/var/spool通过将此行添加到/etc/fstab以下内容制作了一个 ram 磁盘:
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
Run Code Online (Sandbox Code Playgroud)
后来我配置了 postfix,因为我的系统上有一个 RAID 阵列,如果 RAID 阵列出现故障,mdadm 想给我发送电子邮件,这听起来是个好主意。电子邮件发送工作正常,直到我重新启动,此时:
postfix: fatal: open /etc/postfix-out/main.cf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
对此的修复显然是:
mkdir /var/spool/postfix
postfix check
Run Code Online (Sandbox Code Playgroud)
然后我发现我还必须这样做:
mkfifo /var/spool/postfix/public/pickup
service postfix restart
Run Code Online (Sandbox Code Playgroud)
现在发送电子邮件工作正常......直到下次重新启动。
那么:如果 /var/spool/postfix 不存在,那么在启动时自动重新创建它的内容的最正确方法是什么?
我正在使用 Ubuntu Server 12.04。
我运行命令df -h,它显示udev大小为 471M,其他 5tmpfs个估计大小为 1.1G。我该怎么对他们?