A question about Intel Core 2 Quad Q6600 and >4 GB RAM
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
A question about Intel Core 2 Quad Q6600 and >4 GB RAM
Hi!
I'm planning on buying a rig with an Intel Core 2 Quad Q6600 and 4GB RAM (or more). There are two main issues I'm worried about:
1) Do I have to run 64-bits to make use of all the RAM? Is it possible with Q6600?
2) My assumption is that the linux kernel will automatically distribute task(s) between the cores (so that I do not end up with using only one of them at a time). Is that correct? Is some form of extra tweaking required in this area? If so, what does it involve?
I have one of those. To run with more than 4 GB RAM you have 2 options:
1) Use 64-bit OS
2) When compiling the kernel compile it specifically for 'Core 2/newer Xeon' and then turn on Hugemem support 'High Memory Support (64GB) --->', this automatically enables '64 bit Memory and IO resources (EXPERIMENTAL)'. This is all in the 'Processor type and features --->' section.
The Linux kernel will automatically distribute tasks between cores, but if the program was not compiled with threading support it'll just bounce from processor to processor using 99% on one core, then switching to the next core and using 99% on that one instead of the previous one. This is what I get when running programs that don't support multi-threading. Of course, if you run 2 such programs, they will each run on different core, then switch around a bit in a similar fashion. Yes, it kinda sucks, maybe one day, a long time from now all programs will support multi-threading, be 64-bit optimized, and all that good stuff.
I still have a couple of questions concerning multiple cores though:
So, basically what you are saying is that the program must be specifically designed to run on a CPU with multiple cores? Or is it just a matter of a flag which needs to be turned on during compilation?
And one more question: Can I manually assign and confine a specific process to a specific core?
So, basically what you are saying is that the program must be specifically designed to run on a CPU with multiple cores? Or is it just a matter of a flag which needs to be turned on during compilation?
A program must be specifically designed to run on multiple cores AND a flag must be set at compile time to enable this feature.
If you can imagine it, in a program tasks cannot be automatically dissected or extracted and then sent to be run by different cores. The programmer must declare tasks, each of which can run independently of one another, and then these will be automatically assigned to a core by the Linux kernel. At least this is AFAIK. I'm no expert on this But for sure the paragraph before this one is true.
Quote:
Originally Posted by MasterOfTheWind
And one more question: Can I manually assign and confine a specific process to a specific core?
A program must be specifically designed to run on multiple cores AND a flag must be set at compile time to enable this feature.
If you can imagine it, in a program tasks cannot be automatically dissected or extracted and then sent to be run by different cores. The programmer must declare tasks, each of which can run independently of one another, and then these will be automatically assigned to a core by the Linux kernel. At least this is AFAIK. I'm no expert on this But for sure the paragraph before this one is true.
Yeah, I guess it all makes sense. Thanks Could you give me a general idea of how many apps nowadays are able to do just that? And how many are must still be run on one core at a time?
Quote:
Originally Posted by H_TeXMeX_H
I'm not sure, but why would you want to anyway ?
You know, on an afterthought, I have no idea what I was thinking about there either :P
Yeah, I guess it all makes sense. Thanks Could you give me a general idea of how many apps nowadays are able to do just that? And how many are must still be run on one core at a time?
Only a few that I've seen. I know p7zip, gmake (make -j4), quake 4, and maybe a few others. There are probably others, but they must be recompiled with threading support.
Well, most programs don't use much CPU time, so it's not too much use. It's more important in CPU intensive tasks, p7zip for example is where it might be nice to have it, the compilation process, hence gmake should have it, and games it would be really nice if they have it, hence Quake 4. So, these types of apps are most likely to support it because there is interest in it being supported in these cases.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.