今天查看两个月前上线的小项目,发现运行非常慢,而且增删改查失效了(吓我一大跳),急急忙忙的就开始了我的线上问题排查之路。
/dev/vda1
是 Linux 系统中的一个设备文件,它表示第一个虚拟磁盘(vda)的第一个分区(1)。在大多数 Linux 发行版中,这是系统根分区的默认位置。
如果您要对 /dev/vda1
进行操作(例如挂载、格式化、备份等),则需要具有足够的权限。一般来说,只有 root 用户或具有 sudo 权限的用户才能进行这些操作。
1.通过监控我发现了我的 /dev/vda1 挂载的/目录的内存已经满了,我的第一反应就是运行日志太大了,我通过以下命令来确定:
2.最后发现 www 文件占 34G ,我天,然后我进入 www 文件,发现了日志文件高达 33G 之多。
3.我快马加鞭直接清空了两个日志文件,www 文件的占用内存也恢复到了下图所示 7.7G 。
如图所示:
4.但是相信你们也发现了,dev/vda1 文件还是 use 100%,我的天啥情况啊这是,然后开始了我漫漫寻找方法之路。
5.10000年后,终于我发现了,删掉较大的文件或目录后磁盘空间却没有释放出来的原因是因为已删除空间却没有释放的进程
查询一下查看已删除空间却没有释放的进程 id 然后 kill 掉:
lsof -n | grep -i delete
如图所示:
小彩蛋:杀进程的时候把 nignx 也杀了,哈哈哈哈,又查了一会,笑cry
到此我的线上排查之路为止,也是第一次遇到,记录一下心得!
当Linux的/dev/vda1
文件满时,会导致MySQL无法写入数据,这是因为MySQL需要足够的磁盘空间来存储数据。当磁盘空间不足时,MySQL无法将新的数据写入磁盘,从而引发了写入错误。
这个问题的解决方法是释放一些磁盘空间,可以通过以下几种方式来实现:
总之,当Linux的/dev/vda1
文件满时,会导致MySQL无法写入数据。解决这个问题的方法是释放一些磁盘空间,可以通过清理日志文件、清理临时文件、增加磁盘容量和优化数据库等方式来实现。