กระบวนการสามารถมีได้กี่เธรดใน Linux?
Linux ไม่มีการจำกัดเธรดต่อกระบวนการแต่มีการจำกัดจำนวนกระบวนการทั้งหมดบนระบบ (เนื่องจากเธรดจะประมวลผลด้วยพื้นที่ที่อยู่ที่ใช้ร่วมกันบน Linux) ขีดจำกัดเธรดสำหรับ linux นี้สามารถแก้ไขได้ขณะรันไทม์โดยเขียนขีดจำกัดที่ต้องการไปที่ /proc/sys/kernel/threads-max
คุณค้นหาจำนวนเธรดสูงสุดใน Linux ได้อย่างไร
ลินุกซ์ - โซลูชันที่ 1:
- cat /proc/sys/kernel/threads-max …
- เสียงสะท้อน 100000 > /proc/sys/kernel/threads-max. …
- จำนวนเธรด = หน่วยความจำเสมือนทั้งหมด / (ขนาดสแต็ก*1024*1024) …
- ulimit -s newvalue ulimit -v newvalue …
- บน -b -H -u myfasuser -n 1 | สุขา -l …
- บน -b -u myfasuser -n 1 | สุขา -l …
- cat /proc/sys/kernel/threads-max
กระบวนการสามารถมีเธรดสูงสุดได้กี่เธรด
ตัวอย่างเช่น ภายใต้ Windows แบบ 32 บิต โดยที่แต่ละกระบวนการมีพื้นที่ที่อยู่ของผู้ใช้ 2GB ทำให้แต่ละเธรดมีขนาดสแต็ก 128K คุณคาดว่าค่าสูงสุดของ 16384 เธรด (=2*1024*1024 / 128). ในทางปฏิบัติ ฉันพบว่าฉันสามารถเริ่มต้นได้ประมาณ 13,000 ภายใต้ XP
กระบวนการสามารถมีได้กี่เธรด
เธรดคือหน่วยของการดำเนินการภายในกระบวนการ กระบวนการสามารถมีได้ทุกที่จาก เพียงหนึ่งเธรดไปยังหลายเธรด.
ฉันจะดูเธรดใน Linux ได้อย่างไร
ใช้คำสั่งด้านบน
คำสั่งบนสุดสามารถแสดงมุมมองแบบเรียลไทม์ของแต่ละเธรด เพื่อเปิดใช้งานการดูเธรดในผลลัพธ์ด้านบน เรียกด้านบนด้วยตัวเลือก "-H". นี่จะแสดงรายการเธรด Linux ทั้งหมด คุณยังสามารถเปิดหรือปิดโหมดการดูเธรดในขณะที่กำลังวิ่งอยู่ได้ โดยกดปุ่ม 'H'
คอร์สามารถรันได้กี่เธรด
คอร์ซีพียูตัวเดียวสามารถมีได้ มากถึง 2 เธรดต่อคอร์. ตัวอย่างเช่น ถ้า CPU เป็นแบบดูอัลคอร์ (เช่น 2 คอร์) ก็จะมี 4 เธรด และหาก CPU เป็นแกน Octal (เช่น 8 คอร์) ก็จะมี 16 เธรดและในทางกลับกัน
ขนาดสูงสุดของเธรดพูลคือเท่าไร?
ขนาดพูลเธรดเริ่มต้นคือ 1 ขนาดพูลคอร์คือ 5 ขนาดพูลสูงสุดคือ 10 และคิวคือ 100 เมื่อมีคำขอเข้ามา เธรดจะถูกสร้างขึ้นสูงสุด 5 รายการ จากนั้นงานจะถูกเพิ่มไปยังคิวจนกว่าจะถึง 100 เมื่อคิวเต็ม เธรดใหม่จะถูกสร้างขึ้นสูงสุด maxPoolSize
คุณสร้างเธรดมากเกินไปได้ไหม
บนเครื่อง Windows ไม่จำกัดจำนวนเธรด. ดังนั้น เราสามารถสร้างเธรดได้มากเท่าที่ต้องการ จนกว่าระบบของเราจะมีหน่วยความจำระบบไม่เพียงพอ
ฉันควรวางไข่กี่เธรด
ตามหลักการแล้ว ไม่มี I/O การซิงโครไนซ์ ฯลฯ และไม่มีอะไรอื่นที่ทำงานอยู่ ใช้ เธรด 48 ของงาน ในความเป็นจริง การใช้ประมาณ 95 เธรดอาจดีกว่าเพื่อใช้ประโยชน์จากเครื่องของคุณให้มากที่สุด เนื่องจาก: คอร์รอข้อมูลหรือ I/O ในบางครั้ง ดังนั้นเธรด 2 จึงสามารถทำงานได้ในขณะที่เธรด 1 ไม่ทำงาน
สามารถดำเนินการได้ครั้งละกี่เธรด
คลาสเธรด แอปพลิเคชั่นเธรดเดียวมีเท่านั้น หนึ่งเธรด และสามารถจัดการได้ครั้งละหนึ่งงานเท่านั้น