五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

core dump 路徑定義以及監(jiān)控

2023-06-13 15:10 作者:SRETalk  | 我要投稿

Core Dump 是什么?

Core Dump 是指進(jìn)程異常退出時(shí),操作系統(tǒng)將進(jìn)程的內(nèi)存狀態(tài)保存到文件中,這個(gè)文件就是 Core Dump 文件,中文一般翻譯為“核心轉(zhuǎn)儲(chǔ)”,哈,看起來(lái)還不如不翻譯。

我們可以認(rèn)為 Core Dump 是“內(nèi)存快照”,但實(shí)際上,除了內(nèi)存信息之外,還有些關(guān)鍵的程序運(yùn)行狀態(tài)也會(huì)同時(shí) dump 下來(lái),例如寄存器信息(包括程序指針、棧指針等)、內(nèi)存管理信息、其他處理器和操作系統(tǒng)狀態(tài)和信息。

Core Dump 有什么用?

一個(gè)是用于排查問(wèn)題,例如程序 crash 了,我們可以通過(guò) gdb 等工具來(lái)分析 core dump 文件,找到問(wèn)題的原因。另一個(gè)是監(jiān)控,我們可以通過(guò)監(jiān)控手段及時(shí)發(fā)現(xiàn)程序 crash 了,及時(shí)處理。

程序自身產(chǎn)生的 Core Dump 文件一般可以用來(lái)分析程序運(yùn)行到哪里出錯(cuò)了。

Linux 平臺(tái)常用的 coredump 文件分析工具是 gdb;Solaris 平臺(tái)用 pstack 和 pflags;Windows 平臺(tái)用 userdump 和 windbg。

測(cè)試生成 Core Dump 文件

這將會(huì)在你當(dāng)前的 shell 下觸發(fā)一個(gè)段錯(cuò)誤,進(jìn)而生成一個(gè) core dump 文件,文件名為 core 或 core.pid,pid 是當(dāng)前 shell 的進(jìn)程號(hào)。

注意,ulimit -c unlimited?是告訴操作系統(tǒng),不要限制 core dump 文件的大小,如果你執(zhí)行?ulimit -c?看到輸出 0,就表示 core dump 文件大小限制為 0 了,也就不會(huì)生成。比如我的機(jī)器環(huán)境:

注意 core file size 那一行,我的環(huán)境是 0,就表示限制了 core dump 文件的生成。

Core Dump 文件路徑定義

在 Linux 下,core dump 文件的路徑是由?/proc/sys/kernel/core_pattern?定義的,如果這個(gè)文件不存在,或者內(nèi)容為空,那么 core dump 文件就會(huì)生成在當(dāng)前目錄下。

上面的輸出表示,core dump 文件會(huì)生成在當(dāng)前目錄下,文件名為 core。

我們可以通過(guò)修改?/proc/sys/kernel/core_pattern?來(lái)定義 core dump 文件的路徑和文件名,例如:

然后,我們重新生成 core dump 文件:

此時(shí),我們會(huì)生成一個(gè)類似這樣的文件:/tmp/cores/core.bash.8539.VM-0-33-debian.1236975953。其中,bash 是進(jìn)程名,8539 是進(jìn)程號(hào),VM-0-33-debian 是主機(jī)名,1236975953 是時(shí)間戳。文件存儲(chǔ)在 /tmp/cores 目錄下。

對(duì)于 core_pattern 的定義,可以使用如下的占位符:

其中,%h?hostname 最好加上,假如我們把 core dump 文件存放在 NFS 上,就可以用?%h?來(lái)區(qū)分 core dump 文件來(lái)自哪個(gè)機(jī)器了。

echo "/tmp/cores/core.%e.%p.%h.%t" > /proc/sys/kernel/core_pattern?這種設(shè)置方式,是臨時(shí)生效,如果機(jī)器重啟,就會(huì)失效。如果想要永久生效,可以修改?/etc/sysctl.conf?文件,添加一行:

然后執(zhí)行?sysctl -p?命令,使配置生效。

Core Dump 文件監(jiān)控

一般來(lái)講,對(duì)于規(guī)范化做的好的公司,core_pattern 是系統(tǒng)部交付機(jī)器的時(shí)候,統(tǒng)一設(shè)置好的,公司所有的機(jī)器的 core_pattern 都是一致的,會(huì)設(shè)置成一個(gè)統(tǒng)一的目錄,例如 /opt/cores,這樣就可以方便地對(duì) core dump 新文件進(jìn)行監(jiān)控了。

這里,推薦大家使用 catpaw(基本介紹參考這里:太卷了,史上最簡(jiǎn)單的監(jiān)控系統(tǒng) catpaw 簡(jiǎn)介),catpaw 從 v0.3.0 版本開始,引入了 mtime 監(jiān)控插件,可以監(jiān)控近期的文件變更,進(jìn)而監(jiān)控新的 core dump 文件的產(chǎn)生。

mtime 插件的配置如下:

上面的意思表示,每 30s 探測(cè)一次,每次探測(cè)最近 3 分鐘內(nèi)是否有文件變更或新文件產(chǎn)生。比如我隨便對(duì)某個(gè)目錄做了測(cè)試,最終輸出的內(nèi)容長(zhǎng)這個(gè)樣子:

總結(jié)

希望本文介紹的內(nèi)容對(duì)你有幫助,愿不吝點(diǎn)贊、在看。如果有其他這類事件監(jiān)控的場(chǎng)景需求,也可以聯(lián)系我,后面都會(huì)一并做到 catpaw 里。

雖然 FlashDuty 有免費(fèi)套餐,如果就是不想用,也可以模仿 FlashDuty 的事件接收接口自己搞個(gè) HTTP Server,接收 catpaw 的事件推送,然后自己處理,比如發(fā)送到釘釘、飛書、郵件等。

enjoy…make a better world :)


core dump 路徑定義以及監(jiān)控的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东乡| 桂阳县| 尤溪县| 睢宁县| 嵊泗县| 朝阳市| 南京市| 通化市| 福建省| 阿拉善左旗| 丰顺县| 定兴县| 崇义县| 安图县| 枣阳市| 岳普湖县| 克什克腾旗| 临邑县| 桑植县| 天峨县| 民乐县| 枣强县| 静海县| 手游| 黄大仙区| 运城市| 土默特右旗| 海林市| 吉木萨尔县| 桃园市| 察隅县| 定安县| 汤阴县| 江阴市| 营口市| 竹北市| 贵州省| 新宁县| 凤城市| 石柱| 云南省|