Systemd 支持的 tmpfs |如何手動指定 /tmp 大小
我安裝
/tmp
使用tmpfs
:sudo systemctl enable tmp.mount sudo systemctl start tmp.mount
但是這種方式
/tmp
佔用了所有的空閒 RAM:$ df -h /tmp Filesystem Size Used Avail Use% Mounted on tmpfs 3.9G 12K 3.9G 1% /tmp $
**我如何告訴 systemd tmp.mount 只使用 1G?**我知道我也可以不使用 systemd 並手動添加一個條目
/etc/fstab
並在那裡指定大小。但我不想那樣做。我想使用 systemd 支持的 tmpfs。
systemd覆蓋或擴展它的方式
tmp.mount
是在/etc/systemd/system
. 您可以複製現有的tmp.mount
(來自/lib/systemd/system
或/usr/share/systemd
可能)並編輯副本,或者更好的是,添加配置片段以僅更改掛載選項,方法是執行sudo systemctl edit tmp.mount
並進入
[Mount] Options=mode=1777,strictatime,nosuid,nodev,size=1073741824
在打開的編輯器中。這會
- 創建一個名為
/etc/systemd/system/tmp.mount.d
- 在該目錄中,添加一個名為
override.conf
包含上述文本的文件。請注意,
systemd.mount
仍然說通常,通過配置掛載點
/etc/fstab
是首選方法。所以你可能只想這樣做,即編輯
/etc/fstab
以在行上添加size=...
選項/tmp
(如果需要,添加它):tmpfs /tmp tmpfs mode=1777,strictatime,nosuid,nodev,size=1073741824 0 0
事實上,這是為任何systemd 的“API 文件系統”更改掛載選項的推薦方法:
儘管通常這些 API 文件系統都未在其中列出,
/etc/fstab
但它們可能會被添加到那裡。如果是這樣,其中指定的任何選項都將應用於該特定 API 文件系統。因此:要更改這些文件系統的掛載選項或其他參數,只需將它們添加到/etc/fstab
適當的設置中即可。使用這種技術,除了簡單地更改掛載選項之外,還可以更改文件系統的源、類型。這對於轉向/tmp
由物理磁碟支持的真正文件系統很有用。API 文件系統包括:
/sys
,/proc
,/dev
,/run
,/tmp
,/sys/fs/cgroup
,/sys/kernel/security
,/sys/kernel/debug
,/sys/kernel/config
,/sys/fs/selinux
,/dev/shm
,/dev/pts
,/proc/sys/fs/binfmt_misc
,/dev/mqueue
,/dev/hugepages
,/sys/fs/fuse/connections
,/sys/firmware/efi/efivars
. 即使未在/etc/fstab
安裝單元中指定它們,systemd 也會確保它們已安裝。