linux後台開發知識點

2021-07-04 10:12:47 字數 1180 閱讀 9261



csdn部落格日期:2023年7月9日

linux後台開發需要熟練掌握哪些技能呢?

cpu wait% ↑

top: swap memory ↑

kswap程序

valgrid中malloc/free值

呼叫mallinfo輸出當前所佔記憶體

strace -p

valgrid中access invalid address

記憶體洩漏:top

程序太多: vmstat 1

io阻塞:vmstat 1

執行緒引數不能是區域性變數

pthread_join或boost::thread::join等於waitpid, 呼叫者會阻塞

socketfd等資源無法共享

使用gcc -pthread 或者 -d_reenterant來解決全域性變數重入問題

使用_r版本的庫函式解決庫函式重入問題

readelf -s /lib/libc-2.17.so | grep _r@

檢視所有_r版本函式

互斥邏輯rcntl, flock, semaphere, mutex, rwlock

記憶體原子操作

狀態轉移圖

closed, 

listen,

syn_rcvd,

syn_sent,

established,

fin_wait_1,

fin_wait_2,

time_wait

為什麼要三步握手

為什麼要有time_wait

ulimit -c unlimitedgcc -ggdb

gdb -c core bin

(gdb) bt

(gdb) l

(gdb) frame 0

(gdb) p this->m_value

scoped_ptrshared_ptrweak_ptrenable_shared_from_thisnoncopable

Linux後台C 開發知識點

csdn部落格日期 2013年7月9日 linux後台開發需要熟練掌握哪些技能呢?cpu wait top swap memory kswap程序 valgrid中malloc free值 呼叫mallinfo輸出當前所佔記憶體 strace p valgrid中access invalid add...

後台開發 相關知識點

使用構建系統時,如何引用其他模組 相比於編譯器,構建系統可以處理更複雜的依賴,多種語言的混合編譯,有些甚至支援雲編譯 把 push到遠方編譯平台,調動編譯集群,再把編譯產物pull回本地 最終交付給我們二進位制檔案 可執行檔案,靜態庫檔案.在使用了構建系統時,當我們要引用其他模組 時,不同於以往簡單...

開發知識點記錄

獲取乙個集合中的資料,transform是物件組裝方法 流是從支援資料處理操作的源生成的元素序列,源可以是陣列 檔案 集合 函式。流不是集合元素,它不是資料結構並不儲存資料,它的主要目的在於計算 plist.stream filter person 23.0 equals person.getord...