人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Linux查看日志文件寫入速度的4種方法詳解

發(fā)布日期:2022-07-20 19:10 | 文章來源:CSDN

簡介

有時,我們需要查看某個文件的增長速度,如日志文件,以此來感受系統(tǒng)的負載情況,因為一般情況下,日志寫入越快,說明系統(tǒng)負載越重。

本文就來介紹下Linux中查看日志增長速度的幾種方法,如下:

使用dd

首先要介紹的是dd,因為dd命令幾乎所有主流發(fā)行版都自帶,無需額外安裝,如下:

$?tail?-F?app.log?|?dd?of=/dev/null?status=progress
3875840?bytes?(3.9?MB)?copied,?8.228797?s,?471?kB/s

如上,使用tail -F獲取新寫入的數(shù)據(jù),然后用管道將數(shù)據(jù)交給dd,dd將數(shù)據(jù)拷貝到/dev/null,其中status=progress是用來顯示拷貝速度的,可見,我們?nèi)罩镜膶懭胨俣仁?code>471 kB/s。

使用pv

pv命令可以看做是帶進度的cp,如下:

$?yum?install?-y?pv
$?tail?-F?app.log?|?pv?>/dev/null
2.05MiB?0:00:03?[?330kiB/s]?[???????<=>????????????????????????????????]

原理與dd類似,不過命令換成了pv。

使用cv命令

由于日志數(shù)據(jù)都是程序(如java)寫入的,而在如下的偽文件中,存放著程序打開的文件信息,如下:

  • /proc/<pid>/fd:存放著打開的文件描述符
  • /proc/<pid>/fdinfo:存放著文件描述符寫入到的offset

于是定期的讀取這個offset就可以知道文件的寫入速度了,這也是cv命令的實現(xiàn)原理,如下:

$?yum?install?-y?cv
$?cv?-mc?java
[????1]?java?app.log?100.0%?(6.1?GiB?/?6.1?GiB)?390.2?KiB/s
#?實際上,由于Linux上大多數(shù)命令(如cp)沒自帶進度查看功能,而cv就成了很好的補充
#?比如查看cp復制文件的進度
$?cp?app.log?app.log.bak?&?cv?-mc?cp?

新版cv命令已經(jīng)改名為progress,安裝不到cv包時,可試著安裝progress包。

編寫小腳本

通過寫一個小腳本,定期觀察文件大小,也可查看文件寫入速度,如下:

#?每秒獲取文件大小,通過減去上一秒的大小,即可計算出速度
while?sleep?1;?do??\
??sz=`stat?-c?%s?app.log`;?\
??numfmt?--from=auto?--to=iec?$((sz-psz));?\
??psz=$sz;?\
done
492K
750K
370K

通過watch再加上觀察,也能大致看出速度,如下:

watch?-d?-t?-n1?du?app.log

watch_du

舉一反三

其實轉念一想,如果我們在某個函數(shù)中打上日志,然后通過grep過濾出此日志,然后我們只要計算每秒輸出的日志行數(shù),這豈不就是函數(shù)執(zhí)行的QPS了!

#?使用grep過濾出日志,tr刪除非換行符,所以dd顯示的是換行符的個數(shù)!
$?tail?-F?app.log?\
????|?grep?--line-buffered?'/order/get'?\
????|?stdbuf?-oL?tr?-dc?'\n'?\?????????????????????
????|?dd?of=/dev/null?bs=1?status=progress
151?bytes?(151?B)?copied,?15.523018?s,?0.0?kB/s

這里可以通過151/15計算出QPS是10,由于沒有超過1000,所以看到的是0.0kB/s,如果使用pv命令,會更簡單一些,如下:

$?tail?-F?app.log?\
????|?grep?--line-buffered?'/order/get'?\
????|?pv?-l?>/dev/null
????
144??0:00:03?[11.5?/s]?[???????<=>????????????????

到此這篇關于Linux查看日志文件寫入速度的4種方法詳解的文章就介紹到這了,更多相關Linux查看日志文件寫入速度內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!

國外服務器租用

版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部