20230508,我像往常一样,打开电脑发现根目录满了,报警了,所以按照网上的教程,清理了一下根目录的文件,没想到背后是网卡问题…
文章目录
1.进入终端模式
当时我的根目录已经占用100%,此时是无法进入可视化界面的。只有通过ctrl + Alt + F1-F6进入终端操作。
此时发现进入终端后反复报错,导致我无法进行下一步操作,所以就运行了
sudo apt-get clean
sudo apt-get autoclean
清理了几百兆的空间之后,我终于能正常操作了。
2.查看占用情况
通过
df -h
可以查看占用情况
文件系统 容量 已用 可用 已用% 挂载点
udev 16G 0 16G 0% /dev
tmpfs 3.2G 3.8M 3.2G 1% /run
/dev/sdc2 277G 276G 0G 100% /
tmpfs 16G 254M 16G 2% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sdc3 9.1G 148M 8.5G 2% /boot
/dev/sdb5 1.7T 761G 806G 49% /home
tmpfs 3.2G 28K 3.2G 1% /run/user/1000
可以看到我的根目录已经满了。
3.清理系统log文件
sudo du --max-depth=1 -h /var/log
可以看到/var/log 占了207GB
...
207 G /var/log
...
可以进一步确定是哪些文件占用较大:
sudo du --max-depth=1 -h /var/log/*
...
107G /var/log/kern.log
100G /var/log/syslog
...
发现/var/log/kern.log有107GB,/var/log/syslog有100GB。
3.1 清理/var/log/syslog
直接采用下面命令进行清理:
su 输入密码进入root模式,在root模式下运行下面命令
cat /dev/null > /var/log/syslog
3.2 清理/var/log/kern.log
直接采用下面命令进行清理:
su 输入密码进入root模式,在root模式下运行下面命令
cat /dev/null > /var/log/kern.log
3.3 查看清理结果
df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 16G 0 16G 0% /dev
tmpfs 3.2G 3.8M 3.2G 1% /run
/dev/sdc2 277G 53G 210G 21% /
可以看到/目录已经清理掉了200多GB。按 ctrl + Alt + F7进入GUI界面,进入系统后,本次清理到此结束。下面是关于本次事件的根本原因分析。
4.本次事件的根本原因
按 ctrl + Alt + F7进入GUI界面,进入系统后,我发现神奇的事情发生了,wifi没有了。我用的是ax200的pcie网卡,出于我没有移动过主机,并且我通过lspci还能够查看到下面的网卡信息,所以我就没有检查网卡硬件接口。此时就埋下了折腾的伏笔。
01:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
此时能查看到该设备只能说是巧合。我再次重启之后,就看不到设备信息了,同时wif按钮没有了,蓝牙却还能用。其实这个时候,网卡已经是虚接了,但是我仍然怀疑是刚才清理把驱动去掉了,所以我就尝试了重装驱动,但是没有用。最后的最后,我拆开主机,发现网卡确实是虚接了。
我将网卡重新插好之后,wifi恢复正常了。
果然不能偷工减料,之前偷懒没找到合适的螺丝就用的胶布固定,现在浪费的时间都补回来了,为了避免网卡再次虚接,我加固了螺丝。
4.1 /var/log/kern.log文件为什么那么大
/var/log/kern.log记录了linux内核中的log信息,可以打开看一下:
可以看到无数行错误信息:
May 8 17:00:08 wrc-Default-string kernel: [778145.762319] pcieport 0000:00:01.0: AER: Multiple Corrected error received: 0000:00:01.0
May 8 17:00:08 wrc-Default-string kernel: [778145.762331] pcieport 0000:00:01.0: AER: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 8 17:00:08 wrc-Default-string kernel: [778145.762345] pcieport 0000:00:01.0: AER: device [8086:2f02] error status/mask=00000001/00002000
这些信息在系统启动的时候,也反复的在终端里面跳动。只是我当时并不懂这是什么意思。
现在看来,信息的内容是PCIE 总线报错,设备报错,收到了多个错误信号。
所以看到这就可以结论了,是网卡虚接导致pcie报错,进而导致/var/log/kern.log急速增大,以至于把根目录占满,无法开机。
4.2 后记
我们可以定期的监控一下根目录的情况,定期清理一下日志文件,保持良好的系统状态~~