使用树莓派时,需要在其系统中部署几个不同功能的程序系统,并涉及到数据库读写、串口读写、web访问等,使系统使用压力较大,在查看树莓派使用情况时也遇到些许问题。
free命令
total used free shared buffers cached
Mem: 949408 481588 467820 0 22508 74632
-/+ buffers/cache: 384448 564960
Swap: 102396 0 102396
Mem 物理内存使用,其中已用部分包含磁盘缓存(缓存中并非已经全部使用,这里只已经分配出去的全部大小)
buffer/cache 缓存使用,其中free部分为缓存中未使用部分
Swap 内存页交换时缓存,基本为内存不足时进行的内存交换缓存
该命令还可使用 free -s n
设置每隔n秒打印一次
df -hl
命令可查询当前硬盘使用情况
Filesystem Size Used Avail Use% Mounted on
rootfs 15G 3.0G 11G 22% /
/dev/root 15G 3.0G 11G 22% /
devtmpfs 460M 0 460M 0% /dev
tmpfs 93M 252K 93M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 186M 0 186M 0% /run/shm
/dev/mmcblk0p1 56M 19M 37M 34% /boot
分配swap空间
今天下午mysql server停止工作,怎么都无法启动,到最后发现pi 的swap空间都没有了。重启机器才解决问题,当然分配足够的SWAP
空间就没有此问题了。
-
查看swap空间使用情况:
sudo swapon -s
Filename Type Size Used Priority
/var/swap file 102396 0 -1 -
在硬盘上新建
swapfile
,由于我的硬盘挂载在/datacenter
目录下,键入下面的命令:sudo fallocate -l 2G /datacenter/swapfile
-
新增2GB大小的swapfile文件,接下来限制对swap的访问以确保安全问题。
sudo chmod 600 /datacenter/swapfile
-
设置swapfile为交换空间并开启:
sudo mkswap /datacenter/swapfile
sudo swapon /datacenter/swapfile -
使用
free -h
应该就能看到相应的swap使用情况了。接下来使刚才的swap方案开机有效。sudo vim /etc/fstab
在fstab文件中填入以下内容:
/datacenter/swapfile none swap sw 0 0