在日常使用过程中,可能会经常遇到Linux服务器磁盘空间满的问题。
站在用户的角度思考问题,与客户深入沟通,找到弥勒网站设计与弥勒网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖弥勒地区。
一、遇到磁盘空间不足的报错时候,首先使用df -h查看磁盘空间使用情况,如下图所示
二、进入目录/home/zhang,查找磁盘空间中的大文件,使用命令du -sh *查找占用空间大的目录,通过逐层定位,最后会找到具体的文件。
三、第二步的命令虽然能看到了,但是文件太多不好找,使用du -h --max-depth=1命令查找空间占用大的文件。
1:清理残余的配置文件
一般而言,当从 Ubuntu 系统中删除了一个软件之后,该软件的残余配置文件并没有被删除。如果确信以后不再使用该软件,那么保留其配置文件实在没有必要,所以大可一并删除之。
要删除某个软件的残余配置文件,可以执行下面的操作:
在终端中执行 sudo synaptic,以便启动 Synaptic 包管理工具。
点击 Synaptic 右下角的 Status 按钮进行切换。
现在,应该能够在 Synaptic 的左边看到 Not installed (residual config)。选择它即可在右边看到包含有残余配置文件的包,可以在此选择删除该包。
2:清理下载的缓存包
在 Ubuntu 中通过 sudo apt-get install 安装软件时,其下载的包都缓存在 /var/cache/apt/archives/ 目录中。如果要清理掉这些已下载的缓存包,那么可以执行命令:
sudo apt-get autoclean
sudo apt-get clean
3:清理不再需要的包
在 Ubuntu 系统中安装软件时,该软件的依赖通常也会自动安装上。那么,在删除该软件后,其依赖可能需要我们手动删除之。可以运行 sudo apt-get autoremove 命令来解决这个问题。
4:清理无用的语言文件
Ubuntu 与其他 Linux 发行版一样,是一个支持多语言界面的系统。其实,对使用自己母语的我们来说,通常保留中文即可,也可以保留自己所需要使用的语言,如英文。其他的语言文件则没有必要保留。
为了清理这些无用的语言文件,需要在 Ubuntu 系统中安装一个名为 localepurge 的小工具。
安装 localepurge 是十分简单的,只需执行 sudo aptitude install localepurge 命令就可以了。在安装的过程中,程序会提示进入如下图所示的画面中进行配置。
localepurge
使用空格键可以选择需要保留的区域配置,其他的则会被删除。当以后在安装程序时,此工具也会自动执行,勿需再次配置。中文用户保留zh、zh_CN、zh_CN.*
5:清理无用的翻译内容
可以使用 trans-purge 这组小工具来清理 *.desktop、mime-database、gconf schema 中的无用翻译内容。
trans-purge 这组小工具使用过程如下:
下载源代码:
wget
wget
wget
安装编译依赖:
sudo apt-get install libglib2.0-dev
编译程序:
gcc `pkg-config glib-2.0 --cflags --libs` -o desktop-purge desktop-purge.c
gcc `pkg-config glib-2.0 --cflags --libs` -o mime-purge mime-purge.c
gcc `pkg-config glib-2.0 --cflags --libs` -o gconf-purge gconf-purge.c
安装程序:
sudo cp desktop-purge /usr/bin/
sudo cp mime-purge /usr/bin/
sudo cp gconf-purge /usr/bin/
执行清理:
手动清理:
sudo desktop-purge
sudo mime-purge
sudo gconf-purge
自动清理:
让每次 apt-get 安装软件后自动进行清理。创建 /etc/apt/apt.conf.d/99-transpurge 文件,并添加下列内容:
DPkg
{
Post-Invoke {"if [ $(ps w -p "$PPID" | grep -c remove) != 1 ]; then /usr/bin/desktop-purge /dev/null; /usr/bin/mime-purge /dev/null ; /usr/bin/gconf-purge /dev/null; else exit 0; fi";};
};
警告:无用翻译在清除后无法还原
Linux下清除磁盘分区及残留raid信息
适用场景:
1、 查看硬盘编号
2、 删除磁盘分区
3、 删除磁盘内残留raid信息
*本文适用于430-8i等只有低速格式化或没有格式化功能的HBA卡使用,若raid卡有格式化功能,建议使用raid卡格式化解决问题。
一、查看硬盘编号
适用lsblk命令可以查看当先系统下的磁盘相关信息及磁盘大小
sda为硬盘为系统内的第一个硬盘
sda1为该硬盘下的第一个分区以此类推
二、删除磁盘分区
三、删除磁盘内残留raid信息
如果磁盘在其他raid卡中做过raid,在430-8i这类没有格式化功能的HBA卡中使用时,使用parted等相关命令无法将raid残留信息删除导致无法分区正常安装系统。
现象如下:
Raid卡残留信息的type为dmraid分区名称以`-ddf_开头
删除方法如下:
整体思路是通过dd命令将残留信息所在扇区置零
通常raid卡的信息会放在最后一个柱面即最后63个扇区
以sda为例:
发现有dpIBM等信息,为残留的raid信息
再打印发现已经置零,清除成功。
重启节点重新加载linux中才会生效
第一步:先执行sync命令
#sync
sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,以防止释放,sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。
第二步:清理linux内存缓存
#echo 3 /proc/sys/vm/drop_caches
一般系统是不会自动释放内存的
关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存
此指令输入立即生效,意在释放所有缓存。
第三步:关闭swap,再开启swap
(如果只是清理swap,第二部可以不用进行操作,因为操作了第二步关闭swap时会使用更长的时间)
#swapoff -a 这一步因为是后台 在一点一点的释放,如果配置的swap超大,这里就等待得超久一些
#swapon -a 再开启
linux什么时候开始使用虚拟内存(swap)
A.[root@wenwen ~]# cat /proc/sys/vm/swappiness
60
上面这个60代表物理内存在使用60%的时候才会使用swap
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
通常情况下:
swap分区设置建议是内存的两倍 (内存小于等于4G时),如果内存大于4G,swap只要比内存大就行。另外尽量的将swappiness调低,这样系统的性能会更好。
B.修改swappiness参数
临时性修改:
[root@wenwen ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@wenwen ~]# cat /proc/sys/vm/swappiness
10
永久性修改:
[root@wenwen ~]# vim /etc/sysctl.conf
加入参数:
vm.swappiness = 35
然后在直接:
[root@wenwen ~]# sysctl -p
查看是否生效:
cat /proc/sys/vm/swappiness
35
虽然说使用
rm
命令清理磁盘空间一点也不难(即:#\rm
-r
*),但是最最关键的还是需要你对
LINUX
系统有相当的熟悉才行。即:在删除文件之前,必须要知道哪些文件是可以删除的,而哪些文件又是绝对不能够删除的。只有这样,才能够使用文件删除命令有效地清理磁盘空间。
特别注意:我上面写的那一条命令:#\rm
-r
*
一定、一定、一定要特别慎用、再慎用!!
因为其中:#
代表在超级用户状态下;\
代表取消删除文件之前对用户的询问提示;-r
代表当前目录以及当前子目录下的所有子目录(具有递归性);*
代表子目录下面的所有文件。