【一般排查思路】针对银河麒麟高级服务器操作系统磁盘空间已满

1. 本身磁盘空间已满

有时候我们会看到服务器上有提示“设备上没有空间”,如图1。

图 1

如果是磁盘本身空间已满,我们可以借助du工具来排查,比如首先cd / 切换到根目录,然后 du -sh * | sort -rh | head -n 3查看空间占用最大的前3个文件或者目录,这里我们可以看到 /usr、/var、/run目录占用比较大,如图2。

图 2

然后同理,使用 du 工具一层一层看子目录下哪个文件比较大,这里我们可以看到 /var/img3、/var/img1、/var/img4文件比较大以及 /usr/local/src/下面的 img、img1比较大,如图3。

图 3

删除对应的文件后,发现磁盘空间占用正常,如图4。

图 4

如果需要查看当前目录下所有文件以及文件夹的大小,可以执行 du -sh * ,如需排序使用du -sh  * | sort  -rh,如果只要查看当前目录某个文件大小,可以执行 du -sh  文件名,如图5。

图 5

2.存在未释放的 inode

在linux系统中,想要彻底的删除一个文件,取决于两个“计数器”,这两个计数器一个是磁盘引用的“计数器”(记录了这个文件有几个硬链接),另一个则是内存引用的“计数器”(纪录了这个文件正在被几个进程所调用),当这两个“计数器”全部为0,也就是这个文件没有硬链接,没有任何进程在调用的时候,这个文件才会真正的被删除。

有时候我们看到一种情况,df -h看到磁盘空间满了,但是du -sh查看,并未发现有占用空间大的文件,此时有可能系统中有进程使用了某些文件,但是在有进程使用这些文件的情况下,删除这些文件,则会看到文件虽然删除了,但是空间却没释放。需要结束进程,空间才能释放,这也是很多时候系统空间被沾满,重启了一下系统后又恢复了的原因。

可以使用lsof | grep deleted,最后有deleted标注的就是文件已经删了,但是句柄未释放,空间也未释放的进程,要释放空间,可以将对应的进程杀掉,如图6。

图 6

3.inode满了

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

inode爆满情况就较为严重了,程序运维会有问题,会报磁盘无空间 No space left on device,就像下图,查看df发现磁盘空间使用还没到100%,如图7。

图 7

但是如果df -i 发现根分区的inode到达100%的时候,也会报错“No space left on device”,解决方案就是删除这么小文件,如图8。

图 8

4. tmpfs 内存空间已满

/run 目录一般为 tmpfs文件系统,这些数据实际存储的是RAM和交换空间中,/run 目录的作用用于存储系统运行时候的重要的信息,如果他满了可能会导致系统无法启动新的进程,服务无法正常运行或者无法创建新的pid文件,下图,我们可以看到 /run目录使用为100%,此时如果有个人ssh到此服务器,如图9。

图 9

会看到日志里面有 No space left on device的提示,如图10。

图 10

同样,如果我们此时重启服务,比如auditd,会看到服务卡住无法重启,并且使用journalctl -xeu auditd日志里面同样有No space left on device的情况,说明即使根目录没满,/run目录满了后,会有类似磁盘空间已满的提示,如图11,如12。

图 11

图 12

另外,内存整体不够,同样会导致类似的问题,下图为启动时候,内存不够,导致系统启动异常,提示 No space left on device,如图13。

图 13

5.重复挂载

举个例子,假如我 /var/目录原来已经把空间占用满了,此时我们写入日志的时候,会报出来文件系统已满,但是如果我们此时用新的分区重新挂载到 /var/目录下,像下图,就会造成,df -h 看根分区占满了,已经用了48G了,但是通过 du -sh 看根分区下各个文件系统大小,加起来却只有17G,原因是,我用新的设备重新挂载 /var/目录,以至于我df -h算的是挂载之前的 /var/目录大小而不是挂载之后的 /var目录大小,如图14。

图 14

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/580557.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ardupilot开发 --- RealSense-D400 篇

目录 0. 一些概念1. 用windows检查设备是否正常1. 使用 Intel RealSense SDK 2.0 查看相机图像数据 0. 一些概念 官网:添加链接描述选型:D455 1. 用windows检查设备是否正常 用USB连接D455与PC 下载 Intel.RealSense.Viewer.exe 并打开,设…

无监督学习的评价指标

轮廓系数(Silhouette Coefficient) 轮廓系数用于判断聚类结果的紧密度和分离度。轮廓系数综合了样本与其所属簇内的相似度以及最近的其他簇间的不相似度。 其计算方法如下: 1、计算簇中的每个样本i 1.计算a(i) &#x…

使用Canal实现MySQL主从同步

说明:本文介绍如何使用Canal实现MySQL主从同步的效果,关于Canal入门使用参考:Canal入门使用 启动Canal 首先,设置Canal服务器里,目标节点(即监测的MySQL节点)的配置,启动Canal服务…

多目标果蝇算法及其MATLAB实现

果蝇算法最早的文献是由台湾华夏科技大学的潘文超教授于2011年提出来的。该算法是基于果蝇觅食行为的仿生学原理而提出的一种新兴群体智能优化算法,被称为果蝇优化算法(Fruit Fly Optimization Algorithm, FOA)。通过模拟果蝇利用敏锐的嗅觉和视觉进行捕食的过程&am…

APQC是美国生产力与质量中心

APQC简介 APQC是美国生产力与质量中心( American Productivity and Quality Center)的简称。该中心自1991年开始研究开发流程分类框架(简称PCF),1992年发布PCF1.0。PCF将运营与管理等流程汇总成12项企业级流程类别,每个流程类别包…

项目经理学习PMP对自己工作有多大帮助?

PMP是一种项目管理认证,也是最流行和含金量较高的认证之一。因此,你问它对项目管理有多大帮助,我可以说PMP可以被视为量身定制给项目管理岗人员的一个证书,你能理解它的重要性吗? 随着国家经济建设由基础设施向高端产业…

【新手入门】Git的使用方法,上传自己的项目到GitHub上

Git新手教程 一、Git下载安装二、初始化设置1.网端设置2.用户设置 三、开始上传自己项目1.创建新文件夹,克隆项目地址2.上传文件3.成功运行并上传的界面 报错1.fatal: unable to access https://github.com/ssrzero123/STF-YOLO.git/: error setting certificate fi…

mars3d开发过程中点击面图层飞行定位,设置俯仰角度后,layer.flyTo({没有生效的排查思路

mars3d开发过程中点击面图层飞行定位,设置俯仰角度后,layer.flyTo({没有生效的排查思路记录,给大家提供一下以后排查定位问题的方向 问题场景相关代码: 1.项目本身代码: 2.精简了关键性代码后,就可以去ge…

39-数组 _ 二维数组

39-1 二维数组的创建 行和列编号依旧是从0开始: //arr数组: //1 2 3 4 //2 3 4 5 //2 4 5 6 //三行四列int main() {int arr[3][4]; //存放整数char arr1[5][10]; //存放字符return 0; } 39-2 二维数组的初始化 创建之后,利用初始化赋值…

MySQL-多表查询-练习

练习 1.写一个查询显示所有雇员的 last name、department id、anddepartment name。 SELECT e.LAST_NAME,e.DEPARTMENT_ID,d.DEPARTMENT_NAME FROM employees e,departments d WHERE e.DEPARTMENT_ID d.DEPARTMENT_ID;2.创建一个在部门 80 中的所有工作岗位的唯一列表&#x…

我与C++的爱恋:模板初阶和STL库

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 ​朋友们大家好,本篇文章介绍一下模版和对STL进行简单的介绍,后续我们进入对STL的学习! ​ 一、模板 1.泛型模板 泛型编程:…

PotatoPie 4.0 实验教程(23) —— FPGA实现摄像头图像伽马(Gamma)变换

为什么要进行Gamma校正 图像的 gamma 校正是一种图像处理技术,用于调整图像的亮度和对比度,让显示设备显示的亮度和对比度更符合人眼的感知。Gamma 校正主要用于修正显示设备的非线性响应,以及在图像处理中进行色彩校正和图像增强。 以前&am…

unity学习(91)——云服务器调试——补充catch和if判断

本机局域网没问题,服务器放入云服务器后,会出现异常。 想要找到上面的问题,最简单的方法就是在云服务器上下载一个vs2022! 应该不是大小端的问题! 修改一下readMessage的内容,可以直接粘贴到云服务器的。 …

AIGC技术的伦理与风险探讨:现状与未来

如何看待AIGC技术? 简介:探讨AIGC技术的发展现状和未来趋势。 随着人工智能的迅速发展,AIGC(Artificial Intelligence in General Computing)技术作为智能计算的一种形式,正逐渐渗透到我们的生活和工作中…

firebase:一款功能强大的Firebase数据库安全漏洞与错误配置检测工具

关于firebase firebase是一款针对Firebase数据库的安全工具,该工具基于Python 3开发,可以帮助广大研究人员针对目标Firebase数据库执行安全漏洞扫描、漏洞测试和错误配置检测等任务。 该工具专为红队研究人员设计,请在获得授权许可后再进行安…

OpenCV添加文字和水印------c++

添加文字 bool opencvTool::addText(cv::Mat& image, const std::string text, const cv::Point& position, double fontScale, cv::Scalar color, int thickness, int fontFace) {cv::putText(image, text, position, fontFace, fontScale, color, thickness);return…

HTML5+CSS3小实例:飞行滑块

实例:飞行滑块 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0&qu…

利用STM32实现语音识别功能

引言 随着物联网和智能设备的普及&#xff0c;语音识别技术正逐渐成为用户交互的主流方式之一。 STM32微控制器具备处理高效率语音识别算法的能力&#xff0c;使其成为实现低成本、低功耗语音交互系统的理想选择。 本教程将介绍如何在STM32平台上开发和部署一个基础的语音识…

CentOS系统服务器装机后常用的操作命令大全

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

3分钟入门Java多线程

如何在程序中创建出多条线程&#xff1f; 继承Thread类 public class MyThread extends Thread {Overridepublic void run() {for (int i 0; i < 10; i) {System.out.println("MyThread运行了" i);}} }实现Runnable接口 public class MyRunnable implements …