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


相关文章
|
3天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
35 3
|
1月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
129 3
|
1月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 网络协议
|
1月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
56 3
|
2月前
|
存储 运维 搜索推荐
|
3月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
75 1
|
2月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
56 1
|
2月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
46 1

热门文章

最新文章