根分區空間不足
我的根分區達到了它的極限,這很煩人,因為大多數包管理器都會在我的根分區的某個地方安裝包。
我必須以某種方式解決這個問題,但我不確定最好的方法是什麼。我可以將一些分區重新格式化為更大的根分區。我想我有兩個選擇可以做到這一點,我可以:
- 刪除
nvme0n1p2
([SWAP]
) 並將其與nvme0n1p3
(/
)合併- 分裂
nvme0n1p4
但是合併
nvme0n1p2
會nvme0n1p3
導致失去我的 SWAP 分區(如果我的 RAM 用完,我偶爾會使用它)。但是我不經常使用它,所以我可以吐sdb
(一個舊的 SSD)並將它的一部分用於 SWAP。拆分
nvme0n1p4
需要將大量數據複製到sda
(舊的且速度較慢的 HDD)。當我寫這篇文章時,我想知道是否也可以選擇將我的 pacman 的預設安裝位置(我正在執行 Manjaro)移動到
nvme0n1p4
這也可能會解決很多空間問題。但是,我沒有足夠的經驗來了解這會對我的系統造成什麼潛在問題。
我知道我還沒有問一個具體的問題。所以我想我的問題是:
- 對於我的空間問題,最不可能破壞我的系統的最持久的解決方案是什麼?
- 我是否錯過了一個很好的替代解決方案來解決我的問題?
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931,5G 0 disk └─sda1 8:1 0 931,5G 0 part /mnt/data sdb 8:16 0 111,8G 0 disk └─sdb1 8:17 0 111,8G 0 part /opt nvme0n1 259:0 0 931,5G 0 disk ├─nvme0n1p1 259:1 0 300M 0 part /boot/efi ├─nvme0n1p2 259:2 0 16G 0 part [SWAP] ├─nvme0n1p3 259:3 0 32G 0 part / └─nvme0n1p4 259:4 0 883,2G 0 part /mnt/nvme0n1p4 $ df Filesystem Size Used Avail Use% Mounted on dev 16G 0 16G 0% /dev run 16G 1,7M 16G 1% /run /dev/nvme0n1p3 32G 30G 503M 99% / tmpfs 16G 498M 16G 4% /dev/shm tmpfs 4,0M 0 4,0M 0% /sys/fs/cgroup tmpfs 16G 53M 16G 1% /tmp /dev/sdb1 110G 26G 79G 25% /opt /dev/nvme0n1p4 869G 419G 406G 51% /mnt/nvme0n1p4 /dev/nvme0n1p1 300M 312K 300M 1% /boot/efi /dev/sda1 916G 113G 757G 13% /mnt/data tmpfs 3,2G 60K 3,2G 1% /run/user/1000
一個簡單的解決方案是刪除你的交換,通過“合併”你的
/
和/swap
分區(更像是刪除你的nvme0n1p2
和擴展你的nvme0n1p3
),然後最後在那裡創建一個交換文件。現在,如果您只想使用 GUI 創建交換文件,您可以使用
gnome-disks
,一步一步:
- 點擊 gnome-disks 的左上角
drive
圖示。- 創建一個
New Disk Image...
- 設置交換文件的大小、名稱和放置位置,然後點擊
Attach new Image...
。- gnome-disks 現在應該讓您立即了解新創建的交換文件部分,該部分應標識為
xx GB Loop Device
. 然後,只需點擊“Wheels
”按鈕。- 繼續
Format Partition...
- 給你的交換分區一個標籤(例如“swap0”)。
- 檢查
Erase
女巫(使交換在驅動器上連續,以獲得更好的性能)。- 選擇
other
作為分區類型。- 點擊
Next
。- 選擇
Linux Swap Partiton
。- 然後,
Next
再一次。- 並且,
Format
這將需要一些時間。- 現在,再次點擊“
Wheels
”按鈕。- 這次繼續
Edit mount options...
- 禁用
User Session Defaults
開關。- 只需確保
Mount at system startup
已選中,Show in user interface
未選中並且Identify As
已設置為 on/dev/disk/by-uuid/xxx
,以確保。- 然後按
OK
。- 最後,點擊“
Play
”按鈕進行掛載,大功告成!長期以來,使用完全專用的交換分區越來越少。
另外,我不知道你有多少 GB 的 RAM 和 VRAM,但 16GB 的交換空間確實很大。如果您真的沒有使用那麼多交換,則應該減少該數量。
現在有一個技巧:如果您仍然想使用那麼多交換空間但只是不時使用,您可以先製作一個小交換文件,比如說 2GB 到 4GB,然後在您真正需要時創建第二個
/
或者乾脆把它放在有更多可用空間的其他地方(例如你的sda1
/mnt/data
),讓它隨時可用。有幾點需要考慮:
*A.*請注意,您真的不應該在 SSD 或任何基於快閃記憶體的驅動器上放置交換,因為它確實會縮短其使用壽命,因為交換畢竟是“假 RAM”(RAM 的 I/O 比任何儲存驅動器),並且由於較小的過度配置,較小的 SSD(通常低於 400GB 甚至低於 1025GB)的使用壽命低於較大的同類產品。
我的意思是,看看你每週寫多少 GB,只是瀏覽網頁、流媒體和觀看 Youtube 影片會寫很多(記憶體)。每週寫入 250GB 非常容易,即使對於奶奶來說也是如此。現在添加一個事實,即您可能是高級使用者(作為數據科學專業的學生,您做得很好,所以這意味著這是最糟糕的情況之一),並且現代較小的 SSD 在保修前僅被授予 100TB 寫入void(是的,void,請檢查產品的數據表),即使在達到“基於年的保修”之前,您也會很快達到這 100TB。
因此,請考慮在旋轉磁碟或一次性快閃記憶體(USB 密鑰、儲存卡等)上進行交換,只要它不是基於 USB 1.x 的,或者如果您真的需要它們仍然非常好,可能是 2.x快,因為這主要不是使基於快閃記憶體的驅動器快速執行的原始 GB/s,而是驅動器單元的訪問時間。
*B.*根據您放置交換的驅動器以及對它們進行分段的方式(例如,每個驅動器一個交換文件等),您甚至可以獲得比以往更快的交換。
*C.*你甚至可以使用交換文件休眠:https ://askubuntu.com/a/892410
D.
gnome-disks
是一個非常強大而直接的工具,它可以檢查您的驅動器的狀態(溫度、壽命、壞扇區等),設置一些驅動器設置(記憶體、待機時間等)等,還可以乾淨地解除安裝、彈出然後通電關閉您的設備(驅動器、USB 密鑰等)比沒有其他 GUI 工具更好。