一次伺服器磁碟空間不足導致的一些列問題

来源:https://www.cnblogs.com/xxj0316/archive/2018/08/10/9454577.html
-Advertisement-
Play Games

繼昨天伺服器上應用 CPU占用過高 後面該應用宕掉了以後 java 一次CPU占用過高問題的排查及解決 今天又出現了更嚴重的問題 昨天解決完問題 今天早些時候 出現了系統無法登錄 查詢日誌定位應該數資料庫的問題 後面發現是磁碟滿了 其實還是昨天的出現問題的導致, 死迴圈刷了特別多的日誌,,導致磁碟空 ...


  繼昨天伺服器上應用 CPU占用過高 後面該應用宕掉了以後       java 一次CPU占用過高問題的排查及解決

 

今天又出現了更嚴重的問題     昨天解決完問題  今天早些時候 出現了系統無法登錄  查詢日誌定位應該數資料庫的問題

後面發現是磁碟滿了    其實還是昨天的出現問題的導致,  死迴圈刷了特別多的日誌,,導致磁碟空間不足  導致資料庫讀寫出問題了,繼而導致應用不可用

使用cd /  du -sh *  列出各文件夾的占用大小

 

可以看到主要是usr/   進入 usr  繼續看磁碟占用

/usr/local文件夾依舊還是最大的

繼續進入/usr/local

基本可以確定是日誌文件太多了

清理掉一些日誌  mysql就正常了,  應用也正常了,   故而整理了一下伺服器的磁碟, 避免下次再次發生磁碟不足的情況

索性這兩次出現的問題都是一些內部的應用,  出現了問題影響範圍有限

 

 

-----------------------------------------------------------------------------------華麗的分割線-------------------------------------------------------------------------------------------

在整理linux磁碟的時候  查了一些資料 故而整理一下 ,留給以後需要的時候的使用

df  -h  查看磁碟占用情況

du -sh *  進入某個人文件夾後  使用該命令可以看該文件夾下文件的占用情況

 

但是發現使用rm -rf  文件名   刪除文件後    磁碟空間並沒有變化    

查詢資料發現是    通過rm或者文件管理器刪除文件將會從文件系統的目錄結構上解除鏈接(unlink).然而如果文件是被打開的(有一個進程正在使用),那麼進程將仍然可以讀取該文件,磁碟空間也一直被占用。

簡單的理解  就是rm  刪除的是引用  如果引用對應的文件正在被使用,這個文件是不會真正的被刪除掉的

lsof | grep deleted

 

 

 

-----------------------------------------------------------------------------------華麗的分割線-------------------------------------------------------------------------------------------

 

順便學習一下 lsof  (list opened files)

lsof全名list opened files,也就是列舉系統中已經被打開的文件。我們都知道,linux環境中,任何事物都是文件,
設備是文件,目錄是文件,甚至sockets也是文件。所以,用好lsof命令,對日常的linux管理非常有幫助。

 lsof -i : 埠號     可以用來查詢埠時候被占用

lsof -i :8082

lsof  文件  顯示開啟文件/usr/local/tomcat_backend/logs/catalina.out的進程

lsof  /usr/local/tomcat_backend/logs/catalina.out

 lsof - p 進程PID 

lsof - p 1498

 看進程號為1498的進程打開了哪些文件

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.安裝python3 1.1 安裝相關依賴庫(工具包) >很重要 1.2 進入opt(用於存放軟體)目錄 2.2 添加環境變數 2. 安裝django 3.代碼上傳並運行 傳送門:實現linux在windows上可視化的軟體 >猛戳此處 ...
  • 前言 有時我們會忘記Mysql的密碼,或者想改一個密碼,以下將對這兩種情況修改密碼的三種解決方法做個總結 本文都以用戶為 root 為例 一、擁有原來的myql的root的密碼 方法一: 在mysql系統外,使用mysqladmin 方法二: 通過登錄mysql系統 註意:如果Mysql的版本是5. ...
  • 虛擬機的網路連接方式分為三種,分別是橋接模式、NAT 模式、和僅主機模式,三種連接模式存在著一定的差異,那麼我們該如何選擇適合自己的連接模式呢? 1.橋接模式:在此模式下,虛擬機相當於一臺獨立的電腦,分配到獨立的IP(和主機的IP同段),此時區域網可以互相ping通,可以聯網。 吐槽:如果有的單位( ...
  • 忽然想起之前一直想寫個簡單的計算器,今天就寫了一下,界面有些簡陋,但是基本功能實現沒有問題 以下是源碼: ...
  • Ubuntu16.04下配置ssh免密登錄 環境準備:新建兩台虛擬機,而且兩台虛擬機上都裝有Ubuntu16.04的系統,使兩台虛擬機之間保持互通狀態。分別為兩台虛擬機命名為A,B。假設我們要使A虛擬機免密登錄B虛擬機。 1.在A虛擬機的普通用戶的終端下輸入如下命令: 然後一直按回車到結束。這時在/ ...
  • 在項目中,有些模塊是開源的,沒有源碼或者不能改動源碼,想要修複、優化裡面的Bug,這時就需要用到patch了。 1. 生成patch 製作補丁有兩種法法,diff和quilt。 1.1 diff方法製作patch 1.1.1 示例 l 第一步,創建兩個文件,test.c源文件和修改後的文件test_ ...
  • 隨著時間的推移,硬碟驅動器上的文件會碎片化,並且電腦速度會變慢,因為它必須檢查驅動器上的多個位置以查找這些文件。要使電腦更高效地運行,請使用Windows中的內置工具對這些文件進行碎片整理。這是你應該怎麼做以及何時做的。 Windows 10,如之前的Windows 8和Windows 7免費下 ...
  • 因為公司業務需求,可能涉及到更改ssh遠程的埠號,用下麵方法輕鬆解決,廢話不多說! 1.打開ssh埠配置文件:vim /etc/ssh/sshd_config,找到如下圖所示的埠,改為自己想改的埠,也可以同時打開多個埠: 2.需要關閉SELinux,打開配置文件:vim /etc/seli ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...