#1
|
|||
|
|||
Vista x64 , Windows 7 limits?
Hello,
i need to know what are internal limitations number of threads and processes running under x64 Vista and x64 Windows 7. Does anybody know it? I tried google but didnt find right paper about it. Also some other OS will be interesting: WinXP 32&64bit, Windows Server 2008 32&64, Linux 32&64. Thanks -- Jump |
#2
|
||||
|
||||
I am not certain, but I believe there is no set limit, it is only limited by the amount of available memory. What IS limited is the number of CPU's. There is no limit on the number of cores per chip, but there is a liit of 2 physical CPU chips.
Git |
#3
|
|||
|
|||
I think there must be some limit, because i wrote one app which use threads and if i go over ~4000 threads it crash, if lower it work.
-- Jump |
#4
|
||||
|
||||
Until you analyse the reason for the crash, you cannot draw any conclusions. I think running out of memory due to stack usuage or faults in the task scheduling is more likely. Have a read here :
http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx So the achievable number of threads should be much higher in X64 with lots of memory, or if you make the default stack usage lower. Linus is a different matter, x32 Linux is limited to about 500 threads. Git |
#5
|
|||
|
|||
Hi,
Limit exists also in x64 (we are talking about in a finite field) and we have to enstablish a difference between theorical limit and practical limit, for a detailed explaination refer to this blog post: http://blogs.technet.com/markrussinovich/archive/2009/07/08/3261309.aspx remember to apply to your system Testlimit Regards, Evilcry |
#6
|
||||
|
||||
> we have to enstablish a difference between theorical limit and practical limit
Agreed, but more than that, we should also consider what jump first proposed, i.e., OS imposed limits. It is my view that : OS Imposed Limit = none, infinite theoretical limit = (total available memory)/((stack usage per thread) + (memory usage per thread)) practical limit <= theoretical limit as your app does not run in isolation or in a perfect environment. It is in distinct contrast to CUDA and AMD's equivelent where there is a hardware imposed limit but the docs encourage you to run several million threads if possible to give their scheduler the best chance of doing it's job!. Git |
#7
|
|||
|
|||
Yeah with this categorization I agree with you!
the difference can be seen in this Quote:
For Deadlock can be used Multi-Threading: Deadlock Tracer Utility downloadable here http://www.codeproject.com/KB/threads/MultiThreading_Dead_Lock.aspx Regards, Evilcry |
#8
|
|||
|
|||
Perhaps a stack dump might help? With that many threads, deadlocks, data races, etc are super easy to do.
I'm curious, why do you need 4k threads though? |
#9
|
||||
|
||||
Use thread pool or I/O completion ports if you need many threads to do concurrent processing.
BTW: ErLang(_http://www.erlang.org) uses many light-weight VM processes to do concurrent processing.
__________________
AKA Solomon/blowfish. |
#10
|
|||
|
|||
On cracklab was written by ntldr:
"I've maked simple program. Test system: Core i7, 12Gb RAM, Windows 2003 x64 x86 application without /LARGEADDRESSAWARE - 1599 threads x86 application with Ń /LARGEADDRESSAWARE - 3222 threads x64 application - 173116 threads (after that memory is ended)" |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
SSDT in Windows Vista/7 x86 | _MAX_ | General Discussion | 3 | 08-30-2012 02:56 |
Windows Vista x64 & kb932596 | taos | General Discussion | 4 | 08-28-2007 03:27 |
Windows Vista OEM Activation Crack.. | imagin | General Discussion | 26 | 03-10-2007 01:25 |
Windows Vista + SoftIce | DrL | General Discussion | 10 | 08-22-2005 15:19 |