在Linux中節省硬碟和記憶體用量

最近發現 VM 和遠端主機的使用空間都太大了,找到一些相關處理方法

硬碟用量

檢查

  • df -h 查看磁碟使用情形
  • df -i 檢查inode使用情形
  • du -sh 查看各資料夾用量
  • du -sh * | sort -nr 依序列出大檔案
  • ls -a 顯示隱藏檔案(.開頭的檔案)
  • dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n 顯示已安裝的的大package
    • source: https://unix.stackexchange.com/questions/40442/which-installed-software-packages-use-the-most-disk-space-on-debian
  • wajig large

常見的垃圾檔案

/var/log
docker已經未使用的image和container
就算是有在使用的image,因為docker是用疊的,所以需要
隱藏檔案,如npm,pip的安裝package

apt

1
2
3
sudo apt autoremove
sudo apt autoremove --purge # remove old kernels
sudo apt clean # 清除 apt 快取

git

git gc --aggressive --prune=all 清理並壓縮 history

docker

docker builder prune 移除沒在使用的build

docker system prune -a 移除所有未使用的container, network, image

記憶體用量

檢查

  • free

硬碟容量換記憶體容量

當然,會比較慢

使用 swap

CPU 用量

  • 各process用量
    • top
    • htop
  • kill <pid>