如何在Linux系統中增加/tmp資料夾的大小

如果 Linux 系統提示目錄/tmp已滿,請勿盲目調整其大小。首先要檢查該目錄實際使用的檔案系統。如果/tmp是tmpfs掛載點,您可以立即透過重新掛載來提高其大小限制,並將該限制永久生效/etc/fstab。如果它是 ext4、XFS、Btrfs 或其他磁碟檔案系統的一部分,則size=tmpfs 選項不適用。

檢查 /tmp 目錄的掛載方式。

打開終端機並運作:

findmnt -T /tmp -o TARGET,SOURCE,FSTYPE,OPTIONS
df -hT /tmp

此findmnt指令會辨識包含目標檔案的檔案系統/tmp,同時df顯示其大小和目前使用情況。上游findmnt 文件建議使用 target 選項來解析路徑對應的檔案系統。

如果FSTYPE是tmpfs,請繼續執行下列步驟。如果是諸如ext4、xfs或之類的btrfs,請跳至磁碟支援部分。

Linux 終端機顯示了掛載在 /tmp 目錄下、大小限制為 1 GiB 的 tmpfs 檔案系統的 findmnt 和 df 輸出。
/tmp在更改 tmpfs 大小限制之前,請確認它確實是 tmpfs 掛載點。

暫時增加 tmpfs /tmp 的容量

您無需卸載 tmpfs。 Linux /tmptmpfs 支援在重新掛載期間更改其最大容量,而不會丟棄已儲存的檔案。例如,要將限制提高到 5 GiB,請執行:

sudo mount -o remount,size=5G /tmp

然後驗證結果:

df -h /tmp

Linux 核心的tmpfs 文件指出,size=重新掛載時可以更改記憶體限制。例如,5G5GiB 是容量上限,而不是立即預留 5GiB 的 RAM。 tmpfs 會在儲存檔案時消耗內存,並在交換空間可用時使用交換空間。

不要設定過大的限制。佔用大量 tmpfs 空間的工作負載可能會造成嚴重的記憶體壓力。此外,這種重新掛載只是暫時的:除非您更改持久掛載設置,否則重新啟動後將恢復到原始啟動配置。

Linux 終端機重新掛載 /tmp tmpfs 檔案系統,大小為 5G,df 輸出顯示容量為 5.0G
重新掛載會改變即時 tmpfs 的大小限制,而無需卸載/tmp。

使較大的 /tmp 目錄大小持久化

/tmp僅在確認目標檔案系統為 tmpfs後才可使用此方法。/etc/fstab請先備份:

sudo cp /etc/fstab /etc/fstab.backup

使用您喜歡的、具有 root 權限的編輯器開啟文件,例如:

sudoedit /etc/fstab

如果已存在/tmptmpfs 設定項,請保留其目前的安全性和相容性選項,僅變更其size=值。如果您的系統使用 systemd 預設的 tmpfs 檔案系統/tmp,且沒有/tmp對應的配置項fstab,systemd 文件指出/etc/fstab可以使用設定項來變更 tmpfs 掛載選項。一個典型的例子是:

tmpfs /tmp tmpfs rw,nosuid,nodev,size=5G,mode=1777 0 0

此mode=1777設定保留了臨時目錄的全域可寫入權限,並啟用了黏滯位元。請勿新增諸如noexec僅用於調整大小之類的選項;更改無關的掛載行為可能會破壞依賴現有配置的軟體。請參閱 systemd 的API 檔案系統指南和上游fstab 文件。

文字編輯器顯示了 /etc/fstab 檔案中 /tmp 檔案系統的 tmpfs 條目,大小為 5G,模式為 1777。
若要設定持久限制,請size=在現有或預期的 tmpfs 配置中進行設定/tmp。

在基於 systemd 的發行版上,編輯後重新載入產生的單元fstab:

sudo systemctl daemon-reload

如果/tmp已經掛載為 tmpfs,您可以fstab立即套用新選項:

sudo mount -o remount /tmp

否則,請在方便的時候重啟。重新啟動後,檢查掛載選項和容量:

findmnt -T /tmp -o TARGET,FSTYPE,OPTIONS
df -h /tmp
Linux 終端機正在驗證 /tmp 目錄是否為 tmpfs 檔案系統,大小為 5GB,總容量為 5.0GB。
更改後,請驗證檔案系統類型、掛載選項和報告的容量。

如果 /tmp 不是 tmpfs 檔案系統呢?

如果findmnt顯示該/tmp臨時目錄位於根檔案系統或其他磁碟支援的檔案系統上,則沒有獨立的 tmpfs 擴充限制。您必須釋放空間或擴充底層檔案系統、分割區或邏輯磁碟區。另一種方法是,如果特定程式支持,則將其指向更大的臨時目錄TMPDIR:

mkdir -p "$HOME/tmp"
chmod 700 "$HOME/tmp"
TMPDIR="$HOME/tmp" your-command

systemd 的臨時目錄指南指出,軟體應該$TMPDIR在設定時使用它,並且它/var/tmp通常更適合較大的臨時數據,這些數據應該在重啟後仍然存在。

如果仍然出現「設備上沒有剩餘空間」的提示

檢查 inode 使用情況以及位元組使用情況:

df -h /tmp
df -i /tmp

即使檔案系統仍有可用空間,也可能出現 inode 耗盡的情況。此外,還應調查是哪個應用程式在產生臨時數據,而不是反覆擴容/tmp。當正常工作負載確實需要更多臨時容量時,調整檔案系統大小是適當的,但對於不受控制的成長,通常最好從源頭解決問題。

留下評論

如何安全地恢復遺失的分區和硬碟數據

如何安全地恢復遺失的分區和硬碟數據

學習如何使用 TestDisk 和 PhotoRec 恢復遺失的分割區和檔案。保護來源驅動器,安全掃描,並將復原的資料儲存到另一個磁碟。

如何在 Linux 桌面系統上掃描二維碼

如何在 Linux 桌面系統上掃描二維碼

使用 CoBang 在 Linux 系統上透過網路攝影機或影像檔案掃描二維碼。查看 Flatpak 攝影機存取的安裝選項、設定步驟和修復方法。

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。