作者hegemon (hegemon)
看板C_and_CPP
標題[問題] pthread stack size...
時間Sat Oct 24 17:28:43 2015
開發平台(Platform): GCC
額外使用到的函數庫(Library Used): 公司與客戶自行開發
問題(Question):
最近將RD所開發的套件整合進客戶產品,
發現在pthread create時一直報resource不足.
先是發現RD的套件內create pthread時沒有指定stack size.
導致使用實作預設的大小(6MB.)
多create幾個就爆炸了.
叫RD那邊卡一下總算是順利跑起來.
但是在review memory map時,發現客戶那邊的thread stack size也是過大,
導致系統依然有機會GG.
不過在嘗試改客戶source code時發現.
客戶的幾個thread在pthread create時,我們指定stack size在1MB.
(set stack size回傳成功)
但是thread create後實際在thread內去抓attr,
發現依然是吃到6MB..
我唯一想到的是在thread create後還有地方去把stack size加大.
請問還有什麼可能嗎? 感謝.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.225.239
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1445678927.A.D67.html
※ 編輯: hegemon (36.228.225.239), 10/24/2015 17:33:30
推 EdisonX: pthread_attr_setstacksize ?? 10/24 18:04
→ hegemon: yes 10/24 18:15
推 askacis: 什麼東西會用到這麼大的 stack? 10/25 02:00
→ askacis: 太大的應該要用malloc拿記憶體 10/25 02:01
→ hegemon: 這是預設值..一般預設都會很大 10/25 14:43
→ hegemon: 找到原因了,很多thread設定的stack size小於16k,結果就 10/27 18:30
→ hegemon: 被忽略改用default了… 10/27 18:30