有台设备一直报空间不足,但明明有空间,怎么办?

问题描述

拿到一台陌生的arm linux64设备,想要运行自己的程序,用着用着就报错,空间不足,咋办呢

为什么呢

先用df指令看一下剩余空间

df -h

我每秒摁一次df指令,发现它这剩余空间跟倒计时似的越来越少

admin@admin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1   14G  9.1G  4.0G  70% /
none            3.5G     0  3.5G   0% /dev
tmpfs           3.8G   52K  3.8G   1% /dev/shm
tmpfs           3.8G  142M  3.7G   4% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           778M     0  778M   0% /run/user/1000
admin@admin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1   14G  9.2G  3.9G  71% /
none            3.5G     0  3.5G   0% /dev
tmpfs           3.8G   52K  3.8G   1% /dev/shm
tmpfs           3.8G  142M  3.7G   4% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           778M     0  778M   0% /run/user/1000
admin@admin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1   14G  9.3G  3.8G  72% /
none            3.5G     0  3.5G   0% /dev
tmpfs           3.8G   52K  3.8G   1% /dev/shm
tmpfs           3.8G  142M  3.7G   4% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           778M     0  778M   0% /run/user/1000

到后面,直接硬盘都剩余0了,然后过一阵子又变成空余5G,又慢慢减少。
我还以为我自己的代码在写数据呢,写满了又循环删除。
用ps指令看一下自己的代码,给他kill掉再看看
可以看到,我的代码mycode的pid是14173

admin@admin:~$ ps aux | grep mycode
root     14173 44.7 15.9 15641860 1270708 ?    Sl   14:35   0:11 ./mycode
admin     14448  0.0  0.0  10292  3360 pts/0    R+   14:35   0:00 ps aux
admin     14449  0.0  0.0   7420   648 pts/0    S+   14:35   0:00 grep --color=auto mycode

给他强制kill掉

admin@admin:~$ sudo kill -9 14173

再df -h看看
还是空间倒计时,看来不是我自己的问题。好,赖别人,那就好说了。
我自己的代码可能有存储视频,什么视频能嫩大,一秒跑走一百多兆,YUV原始都没那么大。

看起来就是在搞什么磁盘测试,还自启动了

在这里插入图片描述
装个工具看看先。

admin@admin:~$ sudo apt-get install sysstat

运行

admin@admin:~$ iostat -d -x 1
Linux 4.9.253-tegra (admin) 	2023年12月21日 	_aarch64_	(6 CPU)

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
loop0            0.03    0.01      0.23      0.00     0.00     0.00   0.00   0.00    0.05    0.00   0.00     7.89     0.51   0.04   0.00
mtdblock0        0.00    0.00      0.01      0.00     0.00     0.00   0.00   0.00    2.48  253.00   0.00     5.14     2.00  93.58   0.03
mmcblk0         32.88  196.02  11568.18  70197.46     0.21    11.85   0.63   5.70    3.64    8.90   1.86   351.86   358.12   4.14  94.68
mmcblk0boot1     0.00    0.00      0.01      0.00     0.00     0.00   0.00   0.00    4.74    0.00   0.00     4.00     0.00   4.74   0.00
mmcblk0boot0     0.02    0.00      0.08      0.00     0.00     0.00   0.00   0.00   28.40    0.00   0.00     4.00     0.00  28.38   0.05
zram0            0.03    0.00      0.12      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     4.00     4.00   0.00   0.00
zram1            0.03    0.00      0.12      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     4.00     4.00   0.00   0.00
zram2            0.03    0.00      0.12      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     4.00     4.00   0.00   0.00
zram3            0.03    0.00      0.12      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     4.00     4.00   0.00   0.00
zram4            0.03    0.00      0.12      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     4.00     4.00   0.00   0.00
zram5            0.03    0.00      0.12      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     4.00     4.00   0.00   0.00

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
loop0            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
mtdblock0        0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
mmcblk0          0.00  155.00      0.00  76836.00     0.00     4.00   0.00   2.52    0.00    9.96   1.55     0.00   495.72   6.35  98.40
mmcblk0boot1     0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
mmcblk0boot0     0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram0            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram1            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram2            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram3            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram4            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram5            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
loop0            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
mtdblock0        0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
mmcblk0          0.00  154.00      0.00  78848.00     0.00     0.00   0.00   0.00    0.00    9.58   1.48     0.00   512.00   6.36  98.00
mmcblk0boot1     0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
mmcblk0boot0     0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram0            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram1            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram2            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram3            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram4            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
zram5            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00

嘿哟,在这里狂写,write kb/s都跑到7W多了。
好,再装个工具看看是谁干的
在这里插入图片描述
装!

admin@admin:~$ sudo apt-get install iotop

运行!

admin@admin:~$ sudo iotop
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                         
11652 ?sys root        0.00 B/s   76.79 M/s  0.00 % 97.49 % dd bs=1M count=110k if=/dev/zero of=/mnt/SSD/test.log oflag=direct,nonblock
 2311 ?sys root        0.00 B/s   92.52 K/s  0.00 %  4.27 % [jbd2/mmcblk0p1-]
11879 ?sys root        0.00 B/s    0.00 B/s  0.00 %  1.95 % ./mycode
 4917 ?sys syslog      0.00 B/s    3.70 K/s  0.00 %  0.00 % rsyslogd -n [rs:main Q:Reg]
    1 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init 2
    2 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
    7 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_preempt]
    8 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
    9 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
   10 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
   11 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lru-add-drain]
   12 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
   13 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cpuhp/0]
   14 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cpuhp/1]
   15 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
   16 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
   17 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]
   19 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/1:0H]
   20 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cpuhp/2]
   21 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/2]
   22 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/2]
   23 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/2]
   25 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/2:0H]
   26 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cpuhp/3]
   27 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/3]
   28 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/3]
   29 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/3]
   31 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/3:0H]
   32 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cpuhp/4]
   33 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/4]
   34 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/4]
   35 ?sys root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/4]Connection to 172.16.133.69 closed by remote host.

好,接近真相了。看到有个进程在这里狂跑我的磁盘,还叫ssdtest是吧。
ps aux看一下,找到了。

root      9327  9326  2 14:19 ?        00:00:01 dd bs=1M count=110k if=/dev/zero of=/mnt/SSD/test.log oflag=direct,nonblock

那怎么把它搞掉呢?这东西是自启动的,kill掉了还会再自己又启动
ps aux看一下/etc/init/下的脚本,这个路径下的脚本开机都会自启。

root      6863     1  0 11:32 ?        00:00:00 bash /home/admin/remote/start.sh
root      6864     1  0 11:32 ?        00:00:06 bash /home/admin/remote/while_forced_start.sh
root      6869     1  0 11:32 ?        00:00:00 bash /etc/init/disktest.sh

发现了啊,这什么,disktest啊,看看

admin@admin:~$ cat /etc/init/disktest.sh
#!/bin/bash
cd /home/admin/test
bash disk_ReadWriteTest.sh

好,就是这东西一直在跑我的磁盘!

admin@admin:~$ cat ~/test/disk_ReadWriteTest.sh
#!/bin/bash
LOG1=disk_test_$(date +"%H%M%S").log
LOG=disk_test.log
#按时间备份测试LOG
mv $LOG $LOG1
...

给他注释掉。重启
再df -h看看,哎,好了,不倒计时了。舒服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值