去重仅保留一条_一条命令,马上让你的Linux服务器腾出几十G空间

用过linux服务器的小伙伴都知道,线上服务器最害怕的就是磁盘空间满了,尤其是日志文件等需要实时监控,防止磁盘撑爆导致服务器不可用。

8ea0e761508eed5da08fe1b615b8e568.png

如果这种情况发生了怎么办?是赶紧删日志还是删更早的数据库备份或者是加硬盘?都没必要,你啥都不用删就能解决你的硬盘空间不足问题。

我们都知道Linux服务器上最常用的文件格式就是ext4了,但是你知道吗,你的服务器可能白白浪费了大量空间。

我们以一台普通服务器为例,先来看看Linux分区的大小

[koudai@koudai-pc bin]$ sudo fdisk -l Disk /dev/nvme0n1:238.5 GiB,256060514304 字节,500118192 个扇区 Disk model: SAMSUNG MZVLW256HEHP-000L7 磁盘标签类型:gpt 磁盘标识符:642B1EDF-973C-47E4-9A42-A1356A5ECDA5 设备 起点 末尾 扇区 大小 类型 /dev/nvme0n1p1 2048 534527 532480 260M EFI 系统 /dev/nvme0n1p2 534528 567295 32768 16M Microsoft 保留 /dev/nvme0n1p3 567296 148635647 148068352 70.6G Microsoft 基本数据 /dev/nvme0n1p7 248211456 395669503 147458048 70.3G Linux 文件系统

可以看到,Linux服务器所在分区是70.3G,再来用df -h命令看下可用空间的大小

[koudai@koudai-pc bin]$ df -h文件系统 容量 已用 可用 已用% 挂载点dev 7.8G 0 7.8G 0% /devrun 7.8G 1.3M 7.8G 1% /run/dev/nvme0n1p7 69G 17G 49G 26% /tmpfs 7.8G 43M 7.8G 1% /dev/shmtmpfs 7.8G 0 7.8G 0% /sys/fs/cgrouptmpfs 7.8G 8.0M 7.8G 1% /tmp/dev/nvme0n1p1 256M 29M 228M 11% /boot/efitmpfs 1.6G 12K 1.6G 1% /run/user/1000

咦,容量是69G,但是可用49G+已用17G=66G,剩下的3G去哪了呢?有人说这个和U盘一样,是1024和1000的差别,网上说

容量的实际计量单位是1024KB=1MB,现在中国的生产厂商计量单位是1000KB=1MB,与理论的进制是不同的,所以我们买的U盘容量与实际的容量是有差别的。

但这是硬盘啊,一条命令下统计可用,已用,总空间的单位是一样的,不可能是1000和1024的原因导致的。

实际上,这是ext4预留空间惹的祸。原本这个预留空间是为了让root用户在紧急状况下也能操作系统的,但是随着操作系统的完善,这个预留空间已经发挥不了什么用了。

我们来执行下这个命令回收空间:

[koudai@koudai-pc bin]$ sudo tune2fs -m 1.5 /dev/nvme0n1p7[sudo] koudai 的密码:tune2fs 1.45.1 (12-May-2019)将保留块所占百分比设置为 1.5%(276483 个块)

命令格式是 sudo tune2fs -m 百分比 分区名,这个tune2fs命令实际就是把ext4文件系统保留块所占百分比设置从默认的5%调整到你设置的值1.5%,调整好后,我们来看看现在的空间

41628c1ea3276a568bcc0268265f45e2.png

tune2fs

发现可用空间已经从49G变成51G,白白多出2G空间了。是不是很爽,跟白捡了便宜似的!

tune2fs是调整和查看ext2/ext3/ext4文件系统参数的工具,其最常见用法有:

tune2fs -m 1 /dev/sda1 将/dev/sda1分区的保留比调为1%tune2fs -r 128000 /dev/sda1 调整/dev/sda1分区的保留空间为128000个磁盘块,也就是512M

你可能会担心,Linux这么做肯定有它的理由,我要是减了保留空间会不会有事?答案是不会的,硬件发展到现在,一个ext2时代的参数,到如今已经完全没必要了。你若还是担心,作为服务器,保留512M空间足矣。

想一想,如果你的线上服务器有500G空间,那么默认ext4就会给你保留500×5%=25G空间,这一条命令,就能给你抠出25G空间。

快去试试吧。

16年互联网从业经验,互联网活化石,全栈老码农,欢迎关注我,每天都能学到新知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值