Debian、Ubuntu磁盘已满的解决办法

王志勇 发表于 2019年10月11日 10:54

前天有位坛友,说Debian的磁盘已满,所以换用CentOS。正好我在调试中也常遇到这个问题,提示:No space left on device。出现这个问题,一般肯定是在虚拟机中出现,服务器真机通常不会出现这个问题。

以VMware虚拟机为例,很容易出这个问题,这是由于一些VMware版本的bug,无法彻底解决,解决办法只能在建立虚拟机时把内存设置得大一些

比如在建立虚拟机时,硬盘默认为8G、20G,但是这个硬盘设置对于很多虚拟机形同虚设。

对于一些真Live的版本,这个硬盘设置不起作用。而起作用的是内存设置,在真Live版本的系统下,例如debian-live-10.1.0-i386-standard.iso、debian-live-8.2.0-i386-standard.iso、CentOS-6.7-i386-LiveCD.iso这样的系统,VMware是把设置的内存当作了硬盘。不像VPS的真机,内存就是内存,硬盘就是硬盘。

知道了原因,解决办法也就找到了。

建立虚拟机时,内存尽量设置得小一些,因为每次启动虚拟机、或者恢复快照时,都会在物理硬盘写入和“内存”大小一样的临时文件。
我在开发一键LAMP/LNMP包时,发现VMware虚拟机需要设置的内存大小,最小为:

LAMP/LNMP,不安装MySQL,如果安装默认的PHP版本,Debian、Ubuntu在VMware虚拟机中需要设置至少512M内存。
LAMP/LNMP,不安装MySQL,如果安装默认第三方源的PHP 7.X,Debian、Ubuntu在VMware虚拟机中需要设置至少600M内存。
LAMP/LNMP,安装MySQL+PHP 7.X,Debian、Ubuntu在VMware虚拟机中需要设置至少800M内存。
LAMP/LNMP,安装MySQL+PHP 7.X,CentOS 6在VMware虚拟机中需要设置至少700M内存。

上述的这些内存大小,并非服务器真机占用的内存,而是VMware虚拟机把内存、硬盘的临时文件混在一起。
而服务器真机,消耗的内存很小,约100兆~200兆。

上述提到的是真Live版本。有一些虽然标的是Live版本,例如ubuntu-18.04-live-server-amd64.iso和ubuntu-19.04-live-server-amd64.iso,这2个其实不是Live版本,还需要做很多的配置,它们其实是Install版本。还有一些标明是NetInstall的版本,安装时、每次启动时都会产生大量的.vmdk文件,会占用2G~3G空间,用不了多久会增长到30G。我搜遍了网络,暂时无法解决,唯一的解决办法是用真Live版本,因为真Live版本不会产生大量的.vmdk文件。

Install版本、NetInstall版本的虚拟机内存大小设置同上。

为什么需要用VMware虚拟机?可以用来本机练习调试Debian、Ubuntu、CentOS系统,用起来和服务器真机一样。

0条评论:

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写