linux效能優化之 pstack strace

2021-09-05 09:51:46 字數 2011 閱讀 4324

solaris 作業系統提供了 pstack 工具,用來列印執行程式的執行緒堆疊資訊。redhat 公司發行的linux作業系統(rhel,centos等等) 也提供了pstack工具,只要按照 gbd:

yum install gdb

由於通過 pstack 獲得的是快照形式的資訊,因此不能判定是否一直是相同的狀態。為了調查是否是相同的狀態,需要同時 使用事件記錄形式的工具來確認。

另外,因為是從os層面看到的呼叫棧,所以可能會與應用程式端呼叫的函式名有所差異

一般來說,pstack 的負載 較低,很少會導致效能下降。

另外,通過pstack 知道函式名後,對於自己編寫的程式,就能一邊檢查源**,一邊調查在哪個函式上耗費了時間。另一方面,很多時候外部產品的函式名

是非公開的,沒辦法對其進行調查。不過,呼叫棧上顯示的os的函式能在網上查到,可以對其進行調查

[root@localhost ~]# pstack 1372

#0 0x00007f01af75117c in waitpid () from /lib64/libc.so.6

#1 0x0000000000440b24 in waitchld.isra.10 ()

#2 0x0000000000441ddc in wait_for ()

#3 0x0000000000433aae in execute_command_internal ()

#4 0x0000000000433cce in execute_command ()

#5 0x000000000041e305 in reader_loop ()

#6 0x000000000041c96e in main ()

strace 是 使用 使用事件記錄的形式,從os看到的某個程序的系統呼叫資訊,能知道在等待哪個系統呼叫,os的哪個函式比較耗時

,注意在沒有其他辦法的時候才使用strace。如果要對外部產品使用strace,請先和該產品的支援部門確認一下。

因為strace 的負載很高,建議在測試環境下再現故障之後再使用。在生產環境中,請在確認允許處理之後再使用。此外,使用strace

分析效能故障的時候,請注意strace自身也會導致速度變慢

[root@localhost ~]#strace -p 1372

strace: process 1372 attached

wait4(-1

通過 -o 選項,可以 輸出 到指定檔案

下面是 將 cat 命令 內部呼叫 記錄 輸入到bbb中

strace -o bbb cat aaa.txt

使用 -c 命令 可以 報告 執行 乙個命令 每個系統呼叫 在核心 中 消耗時間的統計

[root@izm5efwaqhukrqgsmh2vw4z local]# strace -c cat aaa.txt

sse% time seconds usecs/call calls errors syscall

58.14 0.000025 4 6 close

41.86 0.000018 6 3 read

0.00 0.000000 0 1 write

0.00 0.000000 0 4 open

0.00 0.000000 0 5 fstat

0.00 0.000000 0 8 mmap

0.00 0.000000 0 4 mprotect

0.00 0.000000 0 1 munmap

0.00 0.000000 0 4 brk

0.00 0.000000 0 1 1 access

0.00 0.000000 0 1 execve

0.00 0.000000 0 1 arch_prctl

0.00 0.000000 0 1 fadvise64

100.00 0.000043 40 1 total

linux效能優化

調優必須有效能指標,一開始調優必須確定指標 確定基線 確定目標。如果可能的話分離問題,刪除任何執行於被調查系統的多餘的程式或應用!工具 gnome system monitor 圖形介面,可以說是top的圖形化 執行 gnome system monitor 多處理器統計 mpstat,最大的優點是...

Linux效能優化

這裡一定會想到 高併發 和 響應快 這裡詞正對應的就是 吞吐 和 延時 我們知道隨著應用負載的體系,系統資源的使用就會提高,甚至達到極限。而效能問題的本質,就是系統資源已經達到瓶頸,但請求處理還是不夠快,無法支撐更多的請求。linux效能工具圖譜 這個圖是個重要的參考資料,會告訴我們,在linux不...

Linux效能優化 記憶體效能優化思路

目錄 記憶體效能指標 記憶體效能工具 如何快速分析記憶體的效能指標 系統記憶體使用情況 1.已用記憶體和剩餘記憶體 2.共享記憶體,通過tmpfs實現的,他的大小就是tmpfs使用的記憶體大小,這是乙個特殊的快取 3.可用記憶體是新程序可以使用的最大記憶體,包括剩餘記憶體和可 快取 4.快取包括,從...