内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

linux下du和df的工作原理

本篇內(nèi)容主要講解“l(fā)inux下du和df的工作原理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“l(fā)inux下du和df的工作原理”吧!

本篇內(nèi)容主要講解“l(fā)inux下du和df的工作原理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“l(fā)inux下du和df的工作原理”吧!

1.原理介紹1 .1du的工作原理

創(chuàng)新互聯(lián)專注于六盤水網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供六盤水營銷型網(wǎng)站建設(shè),六盤水網(wǎng)站制作、六盤水網(wǎng)頁設(shè)計、六盤水網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造六盤水網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供六盤水網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

du命令會對待統(tǒng)計文件逐個調(diào)用fstat這個系統(tǒng)調(diào)用,獲取文件大小。它的數(shù)據(jù)是基于文件獲取的,所以有很大的靈活性,不一定非要針對一個分區(qū),可以跨越多個分區(qū)操作。如果針對的目錄中文件很多,du速度就會很慢了。

1.2 df的工作原理

df命令使用的事statfs這個系統(tǒng)調(diào)用,直接讀取分區(qū)的超級塊信息獲取分區(qū)使用情況。它的數(shù)據(jù)是基于分區(qū)元數(shù)據(jù)的,所以只能針對整個分區(qū)。由于df直接讀取超級塊,所以運行速度不受文件多少影響。

2.實驗?zāi)M

常見的df和du不一致情況就是文件被刪除的而進程句柄還在導(dǎo)致的問題。當一個文件被刪除后,在文件系統(tǒng)目錄中已經(jīng)不可見了,所以du就不會再統(tǒng)計它了。然而如果此時還有運行的進程持有這個已經(jīng)被刪除了的文件的句柄,那么這個文件就不會真正在磁盤中被刪除,分區(qū)超級塊中的信息也就不會更改,這樣df仍舊會統(tǒng)計這個被刪除了的文件。

首先查看磁盤和路徑

[root@zhjk115 app]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       45G  8.0G   35G  19% /

tmpfs                 4.0G  1.5G  2.5G  37% /dev/shm

/dev/mapper/VolGroup-lv_app

                      255G   42G  201G  18% /app

/dev/sda1             485M   38M  422M   9% /boot

[root@zhjk115 app]#

[root@zhjk115 app]# pwd

/app用dd命令創(chuàng)建1G

大學的文件

[root@zhjk115 app]# dd if=/dev/zero of=/app/test.iso bs=1024k count=1000

1000+0 records in

1000+0 records out

1048576000 bytes (1.0 GB) copied, 4.31891 s, 243 MB/s查看df和du

結(jié)果,目前是一致的

[root@zhjk115 app]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       45G  8.0G   35G  19% /

tmpfs                 4.0G  1.5G  2.5G  37% /dev/shm

/dev/mapper/VolGroup-lv_app

                      255G   43G  200G  18% /app

/dev/sda1             485M   38M  422M   9% /boot

[root@zhjk115 app]# du -sh

43G模擬進程在使用test.iso

文件

[root@zhjk115 app]# tail -f test.iso &

[1] 22349

[root@zhjk115 app]# ps -ef |grep tail

root     22349 21633 28 09:56 pts/1    00:00:01 tail -f test.iso

root     22353 21633  0 09:56 pts/1    00:00:00 grep tail刪除test.iso文件,可以看出df和du

的結(jié)果是不一致的

[root@zhjk115 app]# rm -rf test.iso

 [root@zhjk115 app]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       45G  8.0G   35G  19% /

tmpfs                 4.0G  1.5G  2.5G  37% /dev/shm

/dev/mapper/VolGroup-lv_app

                      255G   43G  200G  18% /app

/dev/sda1             485M   38M  422M   9% /boot

 [root@zhjk115 app]# du -sh

42G用lsof

查看哪個進程在使用/app/test.iso

[root@zhjk115 app]# lsof |grep test.iso

tail   22349   root    3r   REG   253,2 1048576000  12 /app/test.iso手動kill占有test.iso文件的進程,此時,du和df

的結(jié)果一致

[root@zhjk115 app]# kill -9 22349

[1]+  Killed                  tail -f test.iso

[root@zhjk115 app]# du -sh

42G 

[root@zhjk115 app]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       45G  8.0G   35G  19% /

tmpfs                 4.0G  1.5G  2.5G  37% /dev/shm

/dev/mapper/VolGroup-lv_app

                      255G   42G  201G  18% /app

/dev/sda1             485M   38M  422M   9% /boot

結(jié)論:

本實驗主要是針對Linux環(huán)境的使用,該問題是由于進程的文件句柄釋放問題導(dǎo)致的,很多情況為清理完日志等文件是du顯示為已釋放空間,但df空間還在使用,此時可以通過echo(或者>)代替rm來避免這種情況,同時也可以查看是哪個進程在使用,可以根據(jù)情況手動清理、重啟應(yīng)用或者等待釋放。

注:當oracle主機某些日志被清理后但df顯示空間沒有被釋放也是同樣的道理,一般來說等一段時間即可,否則需要重啟數(shù)據(jù)庫實例來釋放空間。

當前題目:linux下du和df的工作原理
URL鏈接:http://www.rwnh.cn/article6/ejegig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、Google、外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計、App設(shè)計面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
隆安县| 崇阳县| 鹤山市| 名山县| 光山县| 高阳县| 安康市| 阳东县| 华池县| 墨江| 盐源县| 锦屏县| 德阳市| 清水河县| 台中县| 正定县| 新田县| 都兰县| 历史| 北宁市| 眉山市| 隆尧县| 沽源县| 木里| 将乐县| 保康县| 东阿县| 嘉峪关市| 卓资县| 霞浦县| 公主岭市| 应城市| 怀仁县| 岢岚县| 博白县| 绵竹市| 泰州市| 台山市| 龙井市| 巴里| 富源县|