菜鸟笔记
提升您的技术认知

对/dev/vda1和/dev/vda2的理解

首先是这张图:

对于:

/dev/vda1和/dev/vda2

可以知道,这个机器是在虚拟机上的,从设备描述中可以看到,与IO有关。

问下ChatGPT

问:linux上 /dev/vda1 和 /dev/vda2是干嘛的

答:

/dev/vda1和/dev/vda2是Linux操作系统中的磁盘设备,通常是虚拟机上的硬盘设备。这些设备通常表示为分区,其中/dev/vda1和/dev/vda2通常是同一个物理磁盘的不同分区。

一般来说,/dev/vda1是Linux系统的根文件系统分区,也就是操作系统所在的分区,包含了Linux内核、启动加载器、系统命令工具和其他必要的文件。而/dev/vda2则可以是Linux系统中的其他分区,例如用于数据存储或程序安装等。

需要注意的是,每个系统的设备命名规则可能略有不同,因此/dev/vda1和/dev/vda2并不是在所有系统上都是标准的磁盘设备命名方式。

问:

哪些操作会影响到/dev/vda1

答:

/dev/vda1通常是Linux系统的根文件系统分区,因此几乎所有与操作系统相关的操作都会影响它。

以下是一些可能影响到/dev/vda1的常见操作:

  1. 安装或卸载软件包:如果你安装或卸载了某个软件包,则该软件包的文件可能会被添加或删除到/dev/vda1上。
  1. 修改系统配置:如果你修改了Linux系统的配置文件,例如/etc/fstab、/etc/passwd和/etc/group等,则这些更改可能会影响/dev/vda1。
  1. 更新系统:当你通过更新命令更新Linux系统时,新的软件包可能会被下载并替换旧软件包。这些更改可能会影响/dev/vda1。
  1. 创建、移动或删除文件:当你在Linux系统中创建、移动或删除文件时,这些更改可能会影响/dev/vda1上的文件系统。
  1. 内核更新:如果你升级了Linux内核,则新版本内核的文件可能会被添加到/dev/vda1上。

需要注意的是,以上仅是一些可能影响/dev/vda1的常见操作,具体情况还要视不同的系统和应用程序而定。

问:哪些操作会影响到/dev/vda2

答:

/dev/vda2通常是Linux系统中的其他分区,例如用于数据存储或程序安装等。因此,与/dev/vda2相关的操作可能包括:

  1. 安装或卸载软件包:如果你安装或卸载了某个软件包,则该软件包的文件可能会被添加或删除到/dev/vda2上。
  1. 创建、移动或删除文件:当你在/dev/vda2上创建、移动或删除文件时,这些更改可能会影响该分区的文件系统。
  1. 数据备份和恢复:如果你在/dev/vda2上存储了重要的数据,则你可能需要定期进行备份以避免数据丢失。在进行数据恢复时,/dev/vda2也会受到影响。
  1. 程序更新:当你更新了Linux系统中的应用程序时,新版本的应用程序文件可能会被添加到/dev/vda2上。
  1. 文件压缩和解压缩:如果你在/dev/vda2上存储了大量文件或数据,那么你可能需要使用文件压缩工具来节省磁盘空间。在解压缩文件时,/dev/vda2也会受到影响。

需要注意的是,以上仅是一些可能影响/dev/vda2的常见操作,具体情况还要视不同的系统和应用程序而定。

总结下

我遇到的情况是这样的,我用的PrintWriter类写文件:

PrintWriter out = new PrintWriter(fileName);
out.println(object.getString());
out.close();

发现就只有文件名,文件是空的,最后通过:

df -h
df -ih

发现使用df -h时发现

/dev/vda2

磁盘满了。

然后查了下

lsof -n | grep deleted

查出了一大把deleted的。

程序有问题,文件资源没释放干净的,把/dev/vda2给填满了。

将这些kill -9 后/dev/vda2就剩下很多空间了。