用 Ncdu 分析树莓派的磁盘用量

使用树莓派部署、下载了很多软件和文件之后,你可能经常需要清理一下,这时要去搜索占用 SD 卡空间的都是哪些东西。树莓派 Raspbain 系统有一个很有用的工具叫 Ncdu,可以列出可以清理的磁盘空间占用。下面树莓派实验室给大家介绍。

安装 Ncdu 磁盘分析器

Ncdu 已经被 Raspbian 默认安装好了,如果没有则需要手工安装,可以用下面的命令。

sudo apt-get update
sudo apt-get install -y ncdu

运行 Ncdu

终端输入命令运行:

ncdu

它会给出当前目录下的磁盘占用情况。

你可以切换到你想清理的目录下面运行 ncdu 命令,或者像下面这样指定某个路径查看:

ncdu /home/pi
ncdu /

建议在指定目录时尽量选择一个比较合理的目录结构,如果目录下文件和子目录太多则需要等待 Ncdu 分析很久。

你可以使用方向键、回车键选择或进入下一层目录。

Ncdu 快捷键

这里提供了快捷键列表。按下“?”可进入。

快捷键划重点:

  • ? – 显示帮助界面
  • up, down j, k – 上下移动光标
  • right, enter, l – 打开所选目录
  • left, <, h – 返回上层目录
  • n – 按照文件名排序(再按一下倒序排列)
  • s – 按照文件大小排序(再按一下倒序排列)
  • C – 按照项目数排序(再按一下倒序排列)
  • a – 切换磁盘用量显示
  • d – 删除所选的文件或目录
  • i – 显示所选项的更多信息
  • r – 刷新/重新计算当前目录
  • b – 在当前目录下打开 shell

这里列出了界面上符号的释义:

总而言之,用了这个工具之后,手动清理磁盘空间不再繁琐了,希望对您有所帮助。

原文,翻译:树莓派实验室,转载本译文请保留此声明。

本文来自:树莓派实验室

修改树莓派交换分区 SWAP 的正确姿势

Swap分区是磁盘上的一个特殊用途的分区。是当系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

分配太多的Swap空间,会浪费磁盘空间,而Swap空间太少,则系统会发生错误。一般在内存小于2G的情况下,交换分区应为内存的2倍。对于树莓派来说,可以设置为2GB。当然也需要考虑 microSD 卡容量和使用情况。

错误的做法

下面是错误的做法!错误的做法!错误的做法!重要的事情说三遍!!!

一直以来,我以为树莓派的 swap 和普通 linux 的差不多,也就照着某些网站上的方法修改树莓派的交换分区大小。

熟悉的套路开始了!

首先,查看内存大小:

$ free -m
total used free shared buff/cache available
Mem: 976 35 226 12 714 864
Swap: 99 0 99

然后:

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=102400
$ sudo mkswap /swapfile
$ sudo chown root:root /swapfile
$ sudo chmod 0600 /swapfile
$ sudo swapon /swapfile
$ sudo vi /etc/fstab

接着,添加以下内容到fstab文件尾:

/swapfile swap swap defaults 0 0

查看是否有swap空间

$ free -m

重启后,你就会发现树莓派的 swap 又回到还原了。

正确的做法

如果你按照上面的方法做了,只需删除 swap 分区:

$ sudo swapoff /swapfile
$ sudo rm /swapfile

然后将自己在 /etc/fstab 文件添加的那一行删除。

下面开始正式修改树莓派的 swap 的大小:

sudo vi /etc/dphys-swapfile

将 CONF_SWAPSIZE 的值修改成你想要的大小。 一般在内存小于2G的情况下,交换分区应为内存的2倍!

然后,重新启动 dphys-swapfile 文件服务:

sudo /etc/init.d/dphys-swapfile restart

最后查看大小:

$ free -h
total used free shared buff/cache available
Mem: 976M 66M 801M 12M 108M 849M
Swap: 2.0G 0B 2.0G

后记

在修改 /etc/fstab 文件的时候,我在下面的注释里发现了这样的两句话:

# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that

不过当时并不知道 dphys-swapfile 是什么,也不知道它在哪。后来通过搜索 dphys-swapfile 查阅到这篇文章 How to change Raspberry Pi’s Swapfile Size on Raspbian,终于找到了正确修改树莓派交换分区的方法。

转载自 树莓派实验室