linux运维之磁盘利用率100%教你做人

简介: linux运维之磁盘利用率100%教你做人


文章目录

磁盘空间满的情况都有哪些???

第一种情况: 是磁盘空间block剩余量不够了(df -h)

第二种情况: 是磁盘空间inode剩余量不够了(df -i)

显示磁盘空间不足(no space left on device)

block空间满了 ,存储的数量过大

inode空间满了 ,产生了大量小文件

一、索引节点信息—inode与blockde

inode与blockde的区别:

1、inode与blockde干什么用?

inode:(index node)索引节点信息   用于存储数据的---文件或目录的一些属性 (文件的权限 所属用户 所属组)
block:             块           用于存储数据的---文件的真实数据信息

2、inode与blockde他们是如何出现的?

只有在磁盘做好格式化之后,产生了文件系统,才会有inode和block(收纳袋)
创建一个文件至少占用占用一个inode和一个block

3、inode与blockde如何查询到相应信息

inode信息查看方法:
[root@VM-0-3-centos ~]# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
devtmpfs        232347   329  232018    1% /dev
tmpfs           235251     7  235244    1% /dev/shm
tmpfs           235251   422  234829    1% /run
tmpfs           235251    16  235235    1% /sys/fs/cgroup
/dev/vda1      3276800 81268 3195532    3% /
tmpfs           235251     1  235250    1% /run/user/0
block信息查看方法:
[root@VM-0-3-centos ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        908M     0  908M   0% /dev
tmpfs           919M   24K  919M   1% /dev/shm
tmpfs           919M  476K  919M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        50G  3.5G   44G   8% /
tmpfs           184M     0  184M   0% /run/user/0

4、为什么df -h 和df -i都是显示磁盘使用情况,而两者有这么大的区别呢?

df -h   是去删除比较大无用的文件   --- 大文件占用大量的磁盘容量。
df -i   则去删除数量过多的小文件   --- 过多的文件占用了大量的inode号。
PS:如果df查看磁盘空间任何一个满了,都需要删除文件内的文件,清理空间

二、磁盘空间block剩余量不够了(df -h)

通过df- h命令查看磁盘容量,发现/dev/vda1的容量比较大

[root@VM-0-3-centos /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        908M     0  908M   0% /dev
tmpfs           919M   24K  919M   1% /dev/shm
tmpfs           919M  468K  919M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        50G  3.5G   44G   8% /
tmpfs           184M     0  184M   0% /run/user/0

进入/(根)目录下,利用du -sh *查看/(根)目录下所有目录的容量大小

[root@VM-0-3-centos ~]# cd /
[root@VM-0-3-centos /]# du -sh *
0       bin
123M    boot
4.0K    data
0       dev
37M     etc
4.0K    home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
127M    opt
0       proc
72K     root
476K    run
0       sbin
4.0K    srv
0       sys
19M     tmp
2.7G    usr
408M    var

发现usr目录占用容量较大,进入usr目录内继续du -sh *排查

[root@VM-0-3-centos /]# cd /usr
[root@VM-0-3-centos usr]# du -sh *
277M    bin
4.0K    etc
8.0K    ftp
4.0K    games
33M     include
774M    lib
345M    lib64
98M     libexec
504M    local
79M     mpi
55M     sbin
394M    share
184M    src
0       tmp

继续进入占用容量较大的目录src下查看容量

[root@VM-0-3-centos usr]# cd src
[root@VM-0-3-centos src]# du -sh *
8.8M    debug
77M     kernels
8.0K    mlnx-ofa_kernel
4.0K    mulu
62M     ofa_kernel
37M     ofa_kernel-5.1
4.0K    wenjian

PS:此操作是模拟目录或文件已经很大需要清理的情况下

此时已经可以排查到是哪些文件占用较大的内存,我们以我自己模拟创建的mulu(目录)和wenjian(文件)作为测试对象.

1.清理/usr/src/mulu目录下的文件。

[root@VM-0-3-centos src]# rm -r /usr/src/mulu/*
rm: remove directory ‘/usr/src/mulu/fu’? y

2.清理/usr/src/wenjian的src目录下wenjian文件

利用重定向的命令清空文件内的内容(还有其他方式清空文件内的内容就不一一演示)

[root@VM-0-3-centos src]# echo " " >> /usr/src/wenjian

三、磁盘空间inode剩余量不够了(df -ih)

加上h是因为它可以直接输出人们可以直接看出容量的单位

通过df -ih 查看了下inode,发现根目录下的inode值使用率为100%了

[root@VM-0-3-centos ~]# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
devtmpfs         227K   329  227K    1% /dev
tmpfs            230K     7  230K    1% /dev/shm
tmpfs            230K   420  230K    1% /run
tmpfs            230K    16  230K    1% /sys/fs/cgroup
/dev/vda1        3.2M   3.2M  0      100% /
tmpfs            230K     1  230K    1% /run/user/0

解决方法:通过下列命令查看较大的目录

[root@VM-0-3-centos ~]# find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

发现哪个目录内小文件较多,进入到小文件较多的目录中,进行删除小文件;如下命令:cd到/xx/xx/xx目录下进行目录下文件筛选后删除

[root@VM-0-3-centos ~]# cd /xx/xx/xx && find -type f |xargs rm -f


相关文章
|
2月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
560 4
|
25天前
|
运维 监控 网络协议
|
11天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
33 3
|
1月前
|
存储 运维 搜索推荐
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
37 1
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
43 1
|
1月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
34 1
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
1月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
2月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行工具的力量
【9月更文挑战第14天】在Linux的世界里,命令行工具是系统管理员的瑞士军刀。本文将带你领略命令行的魅力,从基础操作到高级技巧,让你的运维工作更加高效和精准。准备好了吗?让我们一起开启这段探索之旅!