PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 開thread的記憶體需求該如何減少?
作者:
kingofsdtw
(ä¸èƒ½é–’下來!!)
2022-09-14 03:53:33
首先有個lib 高達4MB
lib中全是靜態buffer宣告
主程式和單一thread 共占用了4.1MB
觀察了一下當thread開到第10個時候暴增到40MB左右
該如何設計才能避免 每個thread自行複製一份lib function? 或稱為各自有靜態大buffer.
.
ps.
過去我也以為function是絕對記憶體位置和大小
不會因為thread增加而記憶體用量變大...
還是實驗方法錯誤了?
作者:
Schottky
(順風相送)
2022-09-14 04:10:00
是 stack 吧
作者:
b0920075
(Void)
2022-09-14 06:10:00
首先你要先確定你的程式真的有複製 lib function 和你所謂的靜態 buffer ,一般來說這兩個東西應該是 thread會共享的,不會你開一個 thread 就複製一份再來, thread 有各自的 stack ,而 stack 一般來說一次就會分配很多空間省的你一直跟系統要,所以記憶體越吃越多很正常
作者:
wulouise
(在線上!=在電腦前)
2022-09-14 22:08:00
靜態buffer是static char*[]?這怎會跟thread一起長大...你所謂的開到第十個thread爆增,是fork還是std::thread?
作者:
kingofsdtw
(ä¸èƒ½é–’下來!!)
2022-09-15 00:33:00
char buffer[1024] 沒mutex我在研究看看...記憶體爆了感謝大家
作者:
Lipraxde
(Lipraxde)
2022-09-15 00:49:00
只有開到十個 thread 的時候會爆?
作者:
Schottky
(順風相送)
2022-09-15 03:13:00
所以這沒加 static,你要確認一下是 global 還是 locallocal 不是靜態記憶體,它是存在 stack 的.....
作者:
enthos
(影斯作業系統)
2022-09-15 03:29:00
radare2/pwndbg/GEF/peda/Pwngdb 看最後一個github圖
作者:
wulouise
(在線上!=在電腦前)
2022-09-15 19:02:00
你把測試code貼出來才好討論吧,靜態長度要看放哪
繼續閱讀
[閒聊] 愛爾蘭IT產業雇主擔保居留計畫
steven10603
Re: [問題] QT Widget 菜鳥求助
tinlans
[問題] QT Widget 菜鳥求助
danny70412
[問題] qimage載入資料夾中所有圖片
Vvvahc
[問題] QT creator 7 add dll 一直遇到問題
evilkiss
[問題] json大數字變成了科學符號
renmax
Re: [問題] python轉成c++問題
whcbs
Re: [問題] python轉成c++問題
dati
[問題] 2位元轉10位元的問題
skygi
Re: [問題] 非兄弟物件之間要怎麼溝通?
OnlyRD
Links
booklink
Contact Us: admin [ a t ] ucptt.com