• 正文
    • 使用systrace為什么會用到這個命令?
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Linux split 命令在這種情況下很有用

2023/08/05
1651
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

哈嘍,大家好,我是小G。

大家有沒有碰到過這種情況??經(jīng)常為了復(fù)現(xiàn)某個偶現(xiàn)問題,在開始測試時就需要打開日志一直跟蹤日志到問題復(fù)現(xiàn),在這個過程中,可能會經(jīng)歷很長時間,導(dǎo)致抓取到的日志文件一般都比較大,導(dǎo)致在分析日志時分析日志的工具load日志很慢,可能還會占用內(nèi)存過多,導(dǎo)致辦公系統(tǒng)運行變慢、變得比較卡頓。

如果碰到這種情況一般有兩種處理方法:

1、優(yōu)化log系統(tǒng),針對保存日志的文件大小設(shè)置一個固定的size,每當(dāng)日志保存超過這個size之后,就重新保存日志到另外一個文件,以此類推,最后分析問題的時候面對就是一個個固定size大小的日志文件,避免出現(xiàn)較大size的日志文件導(dǎo)致load慢或卡頓的問題。

2、依然采用持續(xù)性記錄日志,全部保存在一個文件內(nèi),但分析問題前,根據(jù)日志大小,時間情況等,對日志文件大小進行手動分割處理。

當(dāng)然對于log分析而言,第一種方法顯然會更友好,避免了人為手動參與,會更高效。實際中我們可能兩種方法會混合使用,提高效率。

今天主要學(xué)習(xí)的是第二種方法中涉及到的一個 Linux 命令?:?split 。另外也是因為最近經(jīng)常在使用systrace的場景用到比較多,所以記錄一下,詳細(xì)如下。

使用systrace為什么會用到這個命令?

有時為了分析難復(fù)現(xiàn)或者復(fù)雜的問題,需要抓取盡可能多的事件的 systrace,而最后抓取到的這些 systrace 的總大小可能很大,而我本地電腦在本地一直持續(xù)在用,可能半個月都沒關(guān)機過了,內(nèi)存已經(jīng)吃緊,瀏覽器本身內(nèi)存也可能吃緊了,此時如果碰到一個systrace文件太大就會出現(xiàn)無法 load 解析了,所以就需要考慮將抓取到的 systrace 文件進行分割,分段進行解析。

此時 Linux split 這個命令就非常有用了。

split 命令可以將一個文件分割成數(shù)個。該指令將大文件分割成較小的文件,在默認(rèn)情況下將按照每1000行切割成一個小文件。通過命令參數(shù),可以指定按照行數(shù)或者字節(jié)數(shù)進行分割。

用法:

split [--help][--version][-<行數(shù)>][-b <字節(jié)>][-C <字節(jié)>][-l <行數(shù)>][要切割的文件][輸出文件名]

部分說明:

-l <行數(shù)> : 指定每多少行切成一個小文件

-b <字節(jié)> : 指定每多少字節(jié)切成一個小文件

-C<字節(jié)> : 與參數(shù)“-b”相似,但是在切 割時將盡量維持每行的完整性

[輸出文件名] : 設(shè)置切割后文件的前置文件名, split會自動在前置文件名后再加上編號

比如,我想以每 10 行分割文件 testfile:

$ split -l 10 testfile

再如,過大的?systrace?文件,以每?500000?行進行分割:

split -l 500000 mytest.html

說明:

1、一般 systrace 文件,差不多每行大約 100Bytes 上下;

2、注意:切割systrace時候,需要主要針對切割之后文件,還需要做下處理,避免出現(xiàn)異常,導(dǎo)致無法解析。

由于 systrace 文件之前是完整的 html 語法規(guī)則編寫,分割之后意味著每個分割的小文件的末尾,語法則會出現(xiàn)不匹配情況,此時就需要我們進行手動消除,可在切割后的systrace文件末尾添加如下內(nèi)容:

</script>
<!-- END TRACE -->
</body>
</html>

然后,就可以和平時使用一樣,分段解析每一個小的systrace文件了。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
DSC1001AL5-016.7772T 1 Microchip Technology Inc CMOS Output Clock Oscillator, 16.7772MHz Nom
$7.19 查看
FM33256B-G 1 Cypress Semiconductor Memory Circuit, 32KX8, CMOS, PDSO14, GREEN, MS-012AB, SOIC-14

ECAD模型

下載ECAD模型
$12.98 查看
KSZ8081MLXIA 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP48

ECAD模型

下載ECAD模型
$1.86 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄