在eclipse上尝试运行命令时,共享内存文件的空间不足

k4aesqcs  于 2022-11-04  发布在  Eclipse
关注(0)|答案(3)|浏览(255)

当我运行命令“mvn clean package spring-boot:run”时,我得到这个错误:

OpenJdk 64-Bit Server VM warning: Insufficent space for shared memory file: 3362281 Try using the -Djava.io.tmpdir= option to select an alternate temp location.

在过去的一周里,我已经用了这个命令很多次了,它总是起作用。
以下是Df -h命令的输出:

Filesystem                 Size  Used Avail Use% Mounted on
tmpfs                      1,6G  1,9M  1,6G   1% /run
/dev/mapper/vgubuntu-root   19G   18G     0 100% /
tmpfs                      7,9G   44M  7,8G   1% /dev/shm
tmpfs                      5,0M     0  5,0M   0% /run/lock
/dev/sda2                  512M  5,3M  507M   2% /boot/efi
tmpfs                      1,6G  2,4M  1,6G   1% /run/user/1000

我知道这是一个内存的问题,但我不知道我应该删除/修改什么文件夹。在这个项目有很多依赖,所以我不想删除一些文件夹,我需要运行项目。你能帮助我吗?

ru9i0ody

ru9i0ody1#

您的磁盘已满;与Eclipse或Java没有直接关系。
我注意到您的主磁盘是19 G的,按今天的标准来看,这是很小的;我假设这不是您的笔记本电脑或台式机,而是云中的机器或虚拟机(VM)。
根据您的情况,您有两个常规选项:

  • 通过删除或移动不需要的文件(不是在系统区域中,而是在您自己的目录中)来减少使用的空间量。

您也可以使用软件包管理器卸载不需要的应用程序;但是,在这样一台小型计算机上,我想您没有安装任何多余东西。

  • 增加可用空间量;如果是云中的机器或虚拟机,您可以通过更改配置来完成此操作。具体过程取决于使用哪种云或虚拟机技术。

如果是在云中,增加磁盘大小将增加成本;您需要检查生成的金额是否可接受。

elcex8rz

elcex8rz2#

在/dev/mapper/vgubuntu-root中释放一些空间,它就可以工作了。似乎您的文件系统已满。

ovfsdjhp

ovfsdjhp3#

对不起,我迟到了。现在我会尽我所能帮助你。
你的虚拟机的磁盘空间已满,这意味着100%已使用。我说的是/dev/mapper/vgubuntu-root,你可以看到使用%是100%
您需要扩展VM的磁盘空间大小和VM的空间大小。
正如我从命令Df -h输出中看到的,您的虚拟机的磁盘空间大小大约为19.5 GB(Size_vm==Size_dev/mapper/vgubuntu-root+Size_/dev/sda 2),您的虚拟机为Ubuntu,并且您通过主机上的vg构建了虚拟机Ubuntu
您的主机应该给予40 GB甚至60GB作为虚拟机的空间大小。我建议您提供大于60 GB的空间大小。因为如果磁盘大小的已用百分比达到80,这意味着80%已用磁盘大小,则该磁盘处于危险状态。此外,50%的使用磁盘可以使用很多年,根据微电脑的原理,分配的越快,如果设置40 GB,现在你的虚拟机磁盘的使用百分比就达到了49%;如果您设置了60 GB,那么现在您的VM磁盘的已用百分比最高为32%;此外,如果设置100GB,现在VM磁盘的已用百分比最高为20%。依此类推。
注意事项:我说的虚拟机的空间大小是虚拟内存,虚拟机数据的大小是虚拟机的实际物理内存大小。此外,您设置的虚拟机磁盘空间大小是虚拟机物理内存的最大大小,是虚拟内存,但如果您的虚拟机磁盘使用了100%,你的虚拟机磁盘的大小成为物理内存。有三种类型的空间大小。所以无论你如何设置你的虚拟机的空间大小或你的虚拟机的磁盘空间大小。我说的XXX内存是存储。

item                 virtual memory/storage  physical memory/storage           maximum size

Host machine's space         Yes                      No                     >=Size_hm_disk
(Size_hm_space)

Host machine's Disk          No                       Yes                    ==Size_hm_disk
(Size_hm_disk)

VM's space                   Yes                      No                     <=Size_hm_disk
(Size_vm_space)

VM's Disk space              Yes             No, but 100% used becomes      <=Size_vm_space
(Size_vm_disk_space)

VM's Data space              No                       Yes              <=Size_vm_disk_space
(Size_vm_data)

解决方法:
1.使用vg为虚拟机分配空间60 GB
我认为你的虚拟机的桥vg就像VirtualBox一样,所以请使用vg给予你的虚拟机空间60GB。这里,我只是用60 GB作为例子。
请使用sudo cfdisk在VM终端上检查VM的磁盘,我猜您的输出如下所示:

Device         Boot    Start      End    Sectors      Size    Id Type           Mounted
/dev/mapper/.   *      512M      19.5G 40162880     19G       83 Linux          /
/dev/sda2              19.5G      20G   1006800     512M      c W95 FAT32(LBA)  /boot/efi

2.扩展虚拟机的磁盘空间:
首先,您应该使用fdiskcfdiskparted将挂载在/boot/efi中的第二个分区/dev/sda2移动到VM磁盘的尾柱面。
第二,使用cfdisk来调整大小或扩展或扩大你的第一个分区/dev/mapper/vgubuntu-root,可能是默认大小的大小调整/dev/mapper/vgubuntu-root操作cfdisk59.5 GB;
第三,不要忘记通过sudo resize2fs /dev/mapper/vgubuntu-root将分区/dev/mapper/vgubuntu-root的所有文件类型设置为ext4。
第四,重新启动或重新引导你的虚拟机,玩得开心!
其他人,不要愚蠢地删除分区/dev/sda2或任何文件在partiton /dev/mapper/vgubuntu-root只是喜欢我!:)
完毕!

相关问题