lsof 命令用法 檢視已刪除空間卻沒有釋放的程序

2021-10-10 19:47:30 字數 2868 閱讀 6532

檢視已經刪除的檔案,空間有沒有釋放,沒有的話kill掉pid

lsof -n |grep deleted

lsof簡介lsof(list open files)是乙個列出當前系統開啟檔案的工具。

問題描述:

服務報警根分割槽使用率超過95%,上來檢視發現96%使用率;

但是/分割槽下面的目錄,每個查詢加起來也不到4g空間,多出來的40g不知道在**?

find查詢也沒有找到大檔案;

分析原因:

可能是系統程序占用的空間沒有釋放掉,導致的;

通過命令檢視發現,php程序一共有3個,都是處於deleted狀態,檔案大小剛好是40g,正好是多出來的空間,找到問題所在;

解決辦法:

找到對應的php程序號,kill掉即可;

[[email protected] webserver]# lsof -n / |grep deleted

mysqld 2660 mysql 4u reg 8,2 0 524290 /tmp/ibsf7sxt (deleted)

mysqld 2660 mysql 5u reg 8,2 0 524305 /tmp/ibccm4u4 (deleted)

mysqld 2660 mysql 6u reg 8,2 0 524309 /tmp/ibkuag2e (deleted)

mysqld 2660 mysql 7u reg 8,2 0 524315 /tmp/ibcle4bf (deleted)

mysqld 2660 mysql 11u reg 8,2 0 524316 /tmp/ibw2n1iq (deleted)

php 7045 root 0r reg 8,2 1172 524374 /tmp/sh-thd-1494029191 (deleted)

php 7045 root 2w reg 8,2 42413952626 657428 /var/spool/at/spool/a0100c017bf37c (deleted)

php 7054 root 0r reg 8,2 1172 524374 /tmp/sh-thd-1494029191 (deleted)

php 7054 root 2w reg 8,2 42413952626 657428 /var/spool/at/spool/a0100c017bf37c (deleted)

php 12730 root 0r reg 8,2 1172 524374 /tmp/sh-thd-1494029191 (deleted)

php 12730 root 2w reg 8,2 42413952626 657428 /var/spool/at/spool/a0100c017bf37c (deleted)

mysqld 17855 mysql 4u reg 8,2 0 524384 /tmp/ibxbs5jf (deleted)

mysqld 17855 mysql 5u reg 8,2 0 524385 /tmp/ibmrnzfl (deleted)

mysqld 17855 mysql 6u reg 8,2 0 524386 /tmp/ibvds3ah (deleted)

mysqld 17855 mysql 7u reg 8,2 0 524387 /tmp/ibx6ytrj (deleted)

mysqld 17855 mysql 13u reg 8,2 0 524388 /tmp/ibohb8xq (deleted)

在對應的目錄下並沒有發現檔案

[[email protected] webserver]# ll /var/spool/at/spool/

總用量 0

[[email protected] webserver]# kill -9 7045

[[email protected] webserver]# kill -9 7054

[[email protected] webserver]# kill -9 12730

再次檢視發現沒有php的程序

[[email protected] webserver]# lsof -n / |grep deleted

mysqld 2660 mysql 4u reg 8,2 0 524290 /tmp/ibsf7sxt (deleted)

mysqld 2660 mysql 5u reg 8,2 0 524305 /tmp/ibccm4u4 (deleted)

mysqld 2660 mysql 6u reg 8,2 0 524309 /tmp/ibkuag2e (deleted)

mysqld 2660 mysql 7u reg 8,2 0 524315 /tmp/ibcle4bf (deleted)

mysqld 2660 mysql 11u reg 8,2 0 524316 /tmp/ibw2n1iq (deleted)

mysqld 17855 mysql 4u reg 8,2 0 524384 /tmp/ibxbs5jf (deleted)

mysqld 17855 mysql 5u reg 8,2 0 524385 /tmp/ibmrnzfl (deleted)

mysqld 17855 mysql 6u reg 8,2 0 524386 /tmp/ibvds3ah (deleted)

mysqld 17855 mysql 7u reg 8,2 0 524387 /tmp/ibx6ytrj (deleted)

mysqld 17855 mysql 13u reg 8,2 0 524388 /tmp/ibohb8xq (deleted)

檢視空間已經恢復:

[[email protected] webtserver]# df -h

檔案系統 容量 已用 可用 已用%% 掛載點

/dev/sda2 49g 4.4g 42g 10% /

tmpfs 16g 0 16g 0% /dev/shm

lsof 命令用法 檢視已刪除空間卻沒有釋放的程序

lsof list open files 是乙個檢視當前系統檔案的工具。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。如傳輸控制協議 tcp 和使用者資料報協議 udp 套接字等,系統在後台都為該應用程式分配了乙個檔案描述符,該檔案描述符提...

Lsof命令及用法

lsof options filename 如果提示沒有安裝lsof這個命令,centos可以執行 yum install lsof 安裝,debian可以執行 apt get install lsof 安裝。lsof filename 顯示開啟指定檔案的所有程序 lsof a 表示兩個引數都必須滿...

linux檢視開啟檔案的命令 lsof

簡介 lsof可以列出某個程序開啟的所有檔案資訊。開啟的檔案可能是普通的檔案,目錄,nfs檔案,塊檔案,字元檔案,共享庫,常規管道,明明管道,符號鏈 接,socket流,網路socket,unix域socket,以及其它更多。因為unix系統中幾乎所有東西都是檔案,你可以想象lsof該有多有用。ls...