Ⅰ 如何查詢和修改linux操作系統生成core mp文件的默認路徑
經過分析發現系統默認的文件生成路徑是/var/logs,但/var/logs目錄並非系統自帶的,系統初始安裝默認自帶的是/var/log,最終導致該系統出現core mp後並沒能生成core文件,因此如何查詢和修改系統默認的core mp文件生產路徑呢?方法如下:一. 查詢core mp文件路徑: 方法1: # cat /proc/sys/kernel/core_pattern方法2: # /sbin/sysctl kernel.core_pattern二. 修改core mp文件路徑: 方法1:臨時修改:修改/proc/sys/kernel/core_pattern文件,但/proc目錄本身是動態載入的,每次系統重啟都會重新載入,因此這種方法只能作為臨時修改。 /proc/sys/kernel/core_pattern 例:echo 『/var/log/%e.core.%p』 > /proc/sys/kernel/core_pattern方法2:永久修改:使用sysctl -w name=value命令。 例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p為了更詳盡的記錄core mp當時的系統狀態,可通過以下參數來豐富core文件的命名: %% 單個%字元
Ⅱ linux內核調試之 crash分析mp文件
Linux 下有多個內存轉儲分析工具,如 lcrash、Alicia、Crash。Crash 是一個由 Dave Anderson 開發並維護的內存轉儲分析工具,當前版本為5.0.0。在沒有統一標準的內存轉儲文件格式的情況下,Crash 支持多種格式。
Crash 的命令格式如下:crash [OPTION]... NAMELIST MEMORY-IMAGE[@ADDRESS]其中,namelist 是用於調試版本內核的名稱列表,通常需要自定義編譯,或者從發行版網站下載包含內核的/usr/lib/debug/lib/moles/內核版本/vmlinux軟體包。而memory-image是轉存的某種格式的mp文件。
為了使用 Crash,需要安裝相應的kernel-debuginfo和debug-info-common軟體包,如 CentOS 8 下,可以從debuginfo.centos.org/8/...下載安裝包。
使用 Crash 的命令提示符執行相關操作。Crash 內置命令用於查看寄存器值、調用堆棧等信息,這些命令與 gdb 相似。
例如,bt命令用於列印內核堆棧,可以列出所有內核堆棧或指定進程的堆棧。使用 bt + pid列出特定進程的堆棧,bt -f列出所有堆棧詳細信息,bt -p僅列印崩潰線程的內核棧。
dmesg命令用於查看崩潰時的內核日誌信息。
dis命令用於反匯編地址或函數,顯示該地址對應的源碼。例如,dis -l顯示特定行號的源碼。
rd命令用於讀取內存內容。
mod命令用於查看、載入模塊的符號調試信息。需要載入包含符號信息的模塊。
x/FMT命令用於查看內存內容,FMT參數包括大小、格式和長度。
sym命令用於將虛擬地址轉換為符號。
ps命令用於列印內核崩潰時的進程信息。
file命令用於列印指定進程的文件打開列表。
Crash 還支持如 vm [pid]查看進程的虛擬地址空間,task [pid]查看進程的task_struct和thread_info信息,以及kmem -I查看內存使用情況。
Crash 可以用於實際測試,如主動觸發崩潰情況分析和分析空指針產生的 core mp 文件。在實驗中,內核版本為 4.18.0-193.19.1.el8_2.x86_64,Crash 版本為 7.2.7-3.el8,且使用了 kexec-tool。
以上是 Crash 工具的主要功能和使用方法,通過這些命令,開發者可以深入分析內存轉儲文件,定位並解決潛在的內存錯誤。
Ⅲ linux下java mp文件在哪兒
如果所使用的應用伺服器是tomact,mp文件默認在catalina.out日誌文件里;
如果不是則可以查看java環境變數設置的位置,也就知道在mp文件的位置了;
如果沒有生成mp文件或者是生成錯誤,請按照一下幾種方法來修復:
系統默認的core文件生成路徑是 /var/logs,但是 /var/logs 目錄並非系統自帶的,系統初始安裝默認自帶的是/var/log,最終導致該系統出現core mp後並沒能生成core文件,因此如何查詢和修改系統默認的core mp文件生產路徑呢?方法如下:
一. 查詢core mp文件路徑:
方法1:
# cat /proc/sys/kernel/core_pattern
方法2:
# /sbin/sysctl kernel.core_pattern
二. 修改core mp文件路徑:
方法1:臨時修改:修改/proc/sys/kernel/core_pattern文件,但/proc目錄本身是動態載入的,每次系統重啟都會重新載入,因此這種方法只能作為臨時修改。
/proc/sys/kernel/core_pattern
例:echo 『/var/log/%e.core.%p』 > /proc/sys/kernel/core_pattern
方法2:永久修改:使用sysctl -w name=value命令。
例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p
Ⅳ Linux如何備份文件夾常用命令有哪些
linux備份文件夾的命令是什麼?在Linux操作系統中,可用於備份文件夾的命令有兩個:cp命令、mp命令,本文為大家詳細介紹一下這兩個命令,希望能夠給你們帶來幫助。
1、mp命令
Linux mp命令用於備份文件系統。
mp為備份工具程序,可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
語法:
mp[-cnu][-0123456789][-b
<區塊大小>][-B<區塊數目>][-d<密度>][-f<設備名稱>][-h<層級>][-s<磁帶長度>][-T<日期>][目錄或文件系統]或mp[-wW]
參數:
-0123456789 備份的層級
-b<區塊大小> 指定區塊的大小,單位為KB
-B<區塊數目> 指定備份卷冊的區塊數目
-c 修改備份磁帶預設的密度與容量
-d<密度> 設置磁帶的密度,單位為BPI
-f<設備名稱> 指定備份設備
-h<層級> 當備份層級等於或大於指定的層級時,將不備份用戶標示為nomp的文件
-n 當備份工作需要管理員介入時,向所有operator群組中的使用者發出通知
-s<磁帶長度> 備份磁帶的長度,單位為英尺
-T<日期> 指定開始備份的時間與日期
-u 備份完畢後,在/etc/mpdates中記錄備份的文件系統,層級,日期與時間等
-w 與-W類似,但僅顯示需要備份的文件
-W 顯示需要備份的文件及其最後一次備份的層級,時間與日期。
2、cp命令
Linux cp命令主要用於復制文件或目錄。
語法:
①cp [options] source dest
②cp [options] source... directory
參數:
-a 此選項通常在復制目錄時使用,它保留鏈接、文件屬性,並復制目錄下的所有內容,其作用等於dpR參數組合
-d 復制時保留鏈接,這里所說的鏈接相當於Windows系統中的快捷方式
-f 覆蓋已經存在的目標文件而不給出提示
-i 與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答y時目標文件將被覆蓋
-p 除復制文件的內容外,還把修改時間和訪問許可權也復制到新文件中
-r 若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件
-l 不復制文件,只是生成鏈接文件。
Ⅳ linux下tcpmp抓包存在什麼位置
tcpmp默認的是標准輸出,一般來講就是顯示器,如果要將抓包結果保存到文件則需要使用-w參數,例如:
$tcpmp-ieth1-w/tmp/xxx.cap
抓eth1的包
Ⅵ Linux mp命令
mp命令用於備份ext2或者ext3文件系統。可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
命令格式:mp [選項] [參數] 需要備份的文件
常用選項即參數:
-[0-9]:備份的層級
-f 設備名稱:指定備份設備;
-u:備份完畢後,在/etc/mpdates中記錄備份的文件系統、層級、日期與時間等
用法示例:
將/home目錄所有內容備份到/tmp/homeback.bak文件中,備份層級為0並在/etc/mpdates中記錄相關信息:
$ mp -0u -f /tmp/homeback.bak /home 將/home目錄所有內容備份到/tmp/homeback.bak文件中,備份層級為1(只備份上次使用層次0備份後發生過改變的數據)並在/etc/mpdates中記錄相關信息:
$ mp -1u -f /tmp/homeback.bak /home 通過mp命令的備份層級,可實現完整+增量備份、完整+差異備份,在配合crontab可以實現無人值守備份。