1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

RealTemp General Discussion

Discussion in 'RealTemp' started by unclewebb, Jun 28, 2008.

  1. burebista

    burebista

    Joined:
    Sep 8, 2005
    Messages:
    597 (0.18/day)
    Thanks Received:
    171
    Location:
    Romania
    No need to thank me, my testing was nothing compared with your testing and writing this superb piece of work. :)

    To be honest I'd like to remain as it is now. I really want to know for real what's happening with my CPU.
  2. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    Did you write the dll library and sys file or just the front-end for the dll?
  3. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    Your welcome burebista. RealTemp is a combination of a lot of good ideas from different users here and on the XtremeSystems forums.

    The fastest way to get RealTemp up and running was by using a third party dll library. To read the on chip temperature sensors legally from Windows, you need Ring0 access. For this I am using WinRing0 which is freely available from here:

    http://openlibsys.org/

    The only function from this library I'm using is Rdmsr which allows RealTemp to read the information in Model Specific Register 0x19C where the temperature data for each core is hiding as well as the PROCHOT# status. MSR 0x2A has information for the current CPU multiplier and MSR 0x198 contains some other information that RealTemp uses. ;)

    If you're interested in learning more about your CPU then you can use a little utility program I wrote that lets you read MSRs. It depends on the same WinRing0 library that RealTemp uses so after you download it you will need to unzip and copy it into the RealTemp folder to get it to work.

    http://www.fileden.com/files/2008/3/3/1794507/MSR.zip

    [​IMG]

    You can safely click on Read MSR but before you click on Write MSR, you better download the Intel MSR manual to know what you're doing or BSOD might become your friend. The digits 3D and 41 represent the temperature data for each core. It represents how far the core is away from TjMax. You can use the Calculator program to convert these hex digits to base 10.

    0x3D = 61
    0x41 = 65

    The Intel manuals are here:
    http://www.intel.com/products/processor/manuals/

    Appendix B of manual 3B is where all the fun MSR stuff is located.
    Last edited: Jul 31, 2008
  4. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    RealTemp is an awesome app, good job on it :toast:

    If you wrote the winring0 library I was going to ask if you had any GPU libraries in your toolbox. I made a small temp monitoring app in Visual Basic that reads CPU temps via WinRing0 library and it reads identical temps as RealTemp (using tjmax 95). I would like to add GPU temp reading\fan-controlling functionaility to it. I will most likely make it open source once I put it all together. I personally use rivatuner ONLY to control my GPU fan speed since the eVGA 8800GTS 512 has no built-in fan control. I feel it is overkill to have a tool like rivatuner loaded just for such a simple task like controlling my gpu fan. Perhaps the RivaTuner libraries can take care of this? Have you done any GPU temp reading or fan controlling work?
  5. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    Thanks RyanS2000. Once you get TjMax right, there's not a lot to reading core temperatures. I started with literally a couple of lines of code and have been tacking on extras ever since. Surprising it still works! :)

    I haven't done any GPU temp reading or fan control. I've been thinking about trying to get RealTemp working with RivaTuner so I could take advantage of RivaTuner's graphing abilities and get some proper on screen temps when gaming. That would add a couple of worth while features to RealTemp without needing a lot of extra programming. I'll see what I can figure out some day.

    I continue to use SpeedFan for the same reason you're using RivaTuner, to control my GPU fan.

    In the WinRing0 library there are functions available to read and write data to the IO ports as well as the PCI bus. This might be enough to accomplish what you want but I have no idea where to start.
  6. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    Thanks for all the info in your above post, it really saved me a lot of googling :rockout:

    I was able to figure out how to read GPU temp, ambient temp, and core slowdown threshold values for nVidia cards. I have not yet figured out how to read these values on ATi cards, there is little to no documentation about any of the API's. As far as fan control goes, it seems very complicated so I may not go that far with it.
  7. Gabi_87

    Gabi_87 New Member

    Joined:
    Aug 5, 2008
    Messages:
    3 (0.00/day)
    Thanks Received:
    0
    E4500 M0 Temperature

    Hi, my name is Gabriel and I´m from Argentina.

    Since the moment i´ve bought my E4500 M0 Stepping i was surprised cause it seems to be really cool using Intel Cooler with Artic Silver 5. I´ve overclocked it and i put the voltage at 1.368V Full Load (Prime 95 Small FFTs) what makes the Realtemp to show only 62º.
    I was really happy and then i noticed that most E4xxx Had higher temps than mine, so i started to search in forums and some people told me that if my E4500 shows a TJmax of 85ºC in programs i have to add 15ºC to the temperature showed in programs. Or, what is the same, to adjust the TJmax to 100ºC. At the moment i was really scared, so i went to the bios in order to reduce the voltage and the OC too...

    Days ago i decided to test a little things in my processor. And one thing was to set 1.5V at Bios to see if my E4500 reached up the TJmax and started trottling. Realtemp showed me 74º, and if we add 15º Plus to this temp the conclussion is that at that moment my E4500 was at 89º what´s supossed to be 4º Above de TJmax.. 22 Minutes passed and Prime95 was still running at 1.5V voltage without and error, BSOD, or lower frecuencies in the Processor.

    I´m really confused cause i don´t know what to think about it..

    I ´ve attached a screenshot of Cpu-Z and Realtemp showing my Processor at Idle.


    P.D: I have tested the temp of the heatsink and it was about 42º with my E4500 showing 62º at 1.368V. Excuse me if my english is bad, my foreign language is spanish :eek:

    Thanks :)

    Attached Files:

  8. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    Your English is way better than my Spanish! If you don't understand any of my reply just ask me to clarify things.

    The basic formula temperature software uses is this:

    Reported Temperature = TjMax - Digital Thermal Sensor Reading

    All programs are reading the same data from the same digital thermal sensor on the CPU. The difference is some programs have decided to assume TjMax=100C while RealTemp is using TjMax=85C. One of the reasons RealTemp uses 85C is because I tested an E2160 - M0 which is very similar to your E4500 - M0 and it was 85C, not 100C. Both have the same CPUID code which is 0x6FD.

    Most software doesn't seem to do any testing but here's the kind of testing I do:
    http://www.xtremesystems.org/forums/showpost.php?p=2844886&postcount=423

    At default settings, the E4500 runs quite cool. People think they run hot because they have been using the wrong TjMax so the reported temperatures have been wrong for a long, long time.

    Here's some thermal throttling testing I did on my E6400 which also uses a TjMax=85C.

    [​IMG]

    The PROCHOT# section in RealTemp monitors the information in a Core processor that keeps track of when your processor is hot and has started thermal throttling. As you can see, that doesn't usually start to happen until 83C! Core1 is still fine at 81C. When you were at 74C according to RealTemp, you still had another 9C to go before throttling begins.

    If you were gaming when this happened, even after you stopped the game and your core temperature returned to normal, this check mark would still be set. This is a record if there was any thermal throttling since you started your computer. This will only be cleared if you restart your computer. If this box is not checked, then your computer has been running at full speed without any throttling activity.

    Thermal throttling is when your processor starts to slow down to control temperatures. Your E4500 will cycle your CPU multiplier back and forth from 11.0 to 6.0 which will lower your MHz and reduce the amount of heat being put out. It will do this so quickly that when it first starts to happen, most software won't even report that it is happening. If you were using your computer, you might not even notice a difference in performance. If this continues to happen for a while then CPU-Z and RealTemp should start to show your CPU at reduced MHz. If it was at 200MHz x 11.0 (2200MHz) then it would drop to 200MHz x 6.0 (1200MHz)

    When overclocking you don't have to worry too much about temperatures. As long as your computer is stable and it is not thermal throttling then it should be fine. The Intel Core processors do an excellent job of looking after themselves. When a CPU is too hot, you will lose stability when running Prime95 small FFTs and it will either report an error or your computer will re-boot. As long as your computer is stable then there is no need to worry about temperatures. Just run it as cool as possible to maximize stability and your ability to overclock it. :D

    Edit: Read the documentation to learn more about how to calibrate your sensors for more accurate idle temperatures. By using the correct TjMax, your load temperatures are very accurate even without any calibration.

    When it gets this hot, call the fire department and put them on stand-by. :D

    [​IMG]
    Last edited: Aug 6, 2008
    Gabi_87 says thanks.
  9. Gabi_87

    Gabi_87 New Member

    Joined:
    Aug 5, 2008
    Messages:
    3 (0.00/day)
    Thanks Received:
    0
    Thank you very much unclewebb, you had answered to all my questions really well!

    But i have only one more doubt:

    If The TJmax of my processor is 85º, does it mean that my E4500 M0 supports lowest temperatures than others with a higher TJmax? or does the maximum temperature supported is the same?

    Cause i think that what really matters in fact is the Distance to Tjmax.
    That´s why i´m think that if a processor it´s at 70º with a tjmax of 100ºC it´s hot, and if i have a tjmax of 85º, 55º would be hot too :S?
    May be i´m wrong, and the TJmax it´s only a limit when te processor starts trottling and in my processor it´s before other ones but it does not mean that my processor support lower temperatures. I really don´t know.

    What do you think about that?


    Thanks for all your help, i really apreciate that!

    P.D: When i put "spanish is my foreign language" i commited a mistake with the word "foreign". Spanish is my first language, the language of my Country, that´s why i tried to say :)
  10. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    All E4500 - M0 processors have a TjMax=85C. There is no such thing as TjMax=100C. Other software might be using TjMax=100C but it is not true for any of the Intel desktop processors that I know of.

    Your processor is only too hot if it is thermal throttling (PROCHOT is turned on) or if it is randomly re-booting. If your computer is stable then you don't need to worry about temperatures.
    Gabi_87 says thanks.
  11. Gabi_87

    Gabi_87 New Member

    Joined:
    Aug 5, 2008
    Messages:
    3 (0.00/day)
    Thanks Received:
    0
    I know that if´s not trottling the processor is fine, but my question is based in terms of durability. I don´t think that having my E4500 at 80º would be healthy..
  12. sneekypeet

    sneekypeet Unpaid Babysitter Staff Member

    Joined:
    Apr 12, 2006
    Messages:
    21,474 (7.10/day)
    Thanks Received:
    5,987
    The question is more how often you update. It may shorten the life of the CPU, but do you plan to run it for 5 years or until you can afford a Nahalem rig. If you plan to upgrade soon its really irrelevant. If you plan to keep it for a while your point then has some validity.

    If in fact you are the long haul guy I say around 60-65*C is fine. But i have yet to see definative proof of how much any OCing or overvolting degrades the CPU. I agree it has to have some effect, but if the OC is stable I dont see the damage being too harsh!
  13. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    I think everyone worries way too much about CPU temperatures. AMD/ATI recently released the 4850 series which runs 24/7 at 80C in 2D mode and 85C to 90C in 3D. They don't seem to be too concerned about running their silicon at these temps.

    Intel CPUs are designed to work reliably whether you're in the desert or on the North Pole. From personal experience, Core based processors also run reliably, long term, even when grossly overclocked. For 65nm, keep your core voltage at a maximum of 1.50 volts. You'll probably be bored with it long before it ever dies.
  14. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    RealTemp 2.73

    The latest version allows users to customize the background and text colors of the GUI independently in regular and Mini Mode.

    If you want to check it out then you can download it from the beta section:
    http://www.fileden.com/files/2008/3/3/1794507/RealTempBeta.zip

    [​IMG]

    A double left mouse click on RealTemp will put it into Mini Mode.
    Last edited: Aug 19, 2008
    Kursah says thanks.
  15. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    Love the new colored iface. Great job. :toast:

    If you don't mind me asking, what language did you write this app in? If C++, did you use MFC?

    The memory usage is awesome on your app, roughly 1mb. I put together a similar app in Visual Basic but it uses about 7megs or memory. At first I thought it was from the graph it draws for each core but even with that disabled it still has fairly high usage. I also put together a small app in Delphi 2007 that just read temps and it uses about 2mb.
  16. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    Thanks RyanS2000. Adding adjustable colors to the interface was simple to do and took very little extra coding.

    I'm using Visual C++ 6.0 (MFC). I just upgraded the SDK from 1998 to August 2004 so at least RealTemp has some modern XP style buttons finally. I have a newer version of Visual C++ .NET sitting on my shelf but haven't found a need for it yet. I didn't want users to have to download the bloated .NET package just to see some core temperatures.

    When minimized to the System Tray, RealTemp is very efficient for both memory and CPU usage. I learned C programming on an Amiga computer that ran at a blistering 14 MHz with 2 megabytes of memory. Writing efficient code back then was not an option! :)
    Last edited: Aug 20, 2008
  17. Kursah

    Kursah

    Joined:
    Oct 15, 2006
    Messages:
    7,619 (2.68/day)
    Thanks Received:
    1,578
    Location:
    Missoula, MT, USA
    unclewebb, I want to thank you for RealTemp, I've used it since your first release. Gotta say it does what I want, it's simple, effective, easy to read, and now even customizable!

    I'd say don't go too crazy adding stuff tho...if you do that, maybe do a RealTempX or something, that has more goodies, maybe you and W1z could do a GPU-z/RealTemp congomoration that would be some sort of "premium" program...but really I'm happy running both seperately.

    I'm glad you're taking all this time to not only make a great program, but to making it as accurate as possible, and continually updating it! Thank you! I'm sure you hear it a lot, and you should, many try, but not many have the abilities to make a good vision come to life and be successful.

    :toast:
  18. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    The RealTemp basic feature set is about done. I don't have plans to continually add features until it is big and bloated. The next thing I might add is G15 keyboard support. That and maybe a RivaTuner plug-in are the only things I can think of at the moment that might be useful.

    Intel is finally going to fully document their 45nm temperature sensors on Thursday at the IDF. Anything I learn from that which will increase accuracy, will quickly be added to RealTemp.
    Kursah says thanks.
  19. Kursah

    Kursah

    Joined:
    Oct 15, 2006
    Messages:
    7,619 (2.68/day)
    Thanks Received:
    1,578
    Location:
    Missoula, MT, USA
    Sweet deal man! I may have a chance to win a G15 from Fit's give-away thread, and I am planning on selling my Q6600 for a high-oc-ing e8xxx series, probably an 8400/8500...I may win with both your updates! :D

    :toast:

    I gotta say I regularly have your program running...maybe you could add an option to run/run minimized at startup? I would find that useful, I always have it running! :D
  20. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    The manual method works best for this because I hate adding stuff to anyone's registry.

    In XP just drag a link to RealTemp into your All Programs -> Startup folder. That's what it's there for.

    In Vista, the proper way to add items to your startup area is with the Task Scheduler.

    Now I have more time to work on the important stuff.
    Kursah says thanks.
  21. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    I agree with that totally, try to keep it lightweight as possible. That's its major selling point for me as I hate system tray apps but being it uses 0 CPU and 1mb memory I am ok with it. If I can minimize the memory usage in my temp app I may start actually using it 24/7 like I do realtemp.

    Here's a ss of it as of now; it supports 4-core processors but if it only sees 2 it reduces the size of the interface upon loading.

    [​IMG]
    [​IMG]
    and of course
    [​IMG]
  22. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    You should think about using C++ / MFC if you want to get your code size down. I had very limited C++ experience 6 months ago when I started working on RealTemp. C++ is one of the most used programming languages and is worth learning. Who did you borrow your temp font sizes from? :) I copied Intel TAT cause I like to see at a glance the important stuff. Users would be very interested in a combined monitoring program like you've created if you can make it more efficient.
  23. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    I have experience in C++, VB, and Pascal; mostly VB, about 13 years. VB is the fastest for me so I just put the app together to see what memory usage would look like. The temp app I posted ss's of uses about 7400kb memory and even shows CPU usage of 1 at times. As you would expect I was disappointed so I put together the app in C++ (MFC) but my memory usage was still rather high. For just a dialog window displaying temps uses 3,600kb of memory. I also made the app in Delphi 2007 and I get the same result, roughly 3,600kb. Perhaps it is just my system?

    And about the font, I use tahoma for everything :)
  24. unclewebb

    unclewebb RealTemp Author

    Joined:
    Jun 1, 2008
    Messages:
    934 (0.42/day)
    Thanks Received:
    403
    I just put together a typical Hello World MFC app and look at the memory usage.

    [​IMG]

    That same app after you minimize it once and then re-open it is suddenly much more efficient.

    [​IMG]

    I have no idea why Windows is so inefficient. It loads up everything and then when it figures out that you don't really need it, it dumps it out of memory. If you need it later on then it loads it up I guess. Most people that will be using an app like yours will have 2 gigs of memory or more so don't worry too much about the size of your program.
    Last edited: Aug 20, 2008
  25. RyanS2000 New Member

    Joined:
    Jul 31, 2008
    Messages:
    7 (0.00/day)
    Thanks Received:
    0
    Yeah, that's what I was thinking but I hate the fact that such a small tray app is using anything more than 1 mb. I personally have 4gb of RAM but I am anal with apps in my tray that are always running. That memory usage thing is interesting, I wonder if there is an API call that I can call on load to make it start with low mem usage.

    I really want an app that can monitor CPU\GPU temps PLUS control GPU fan speed. I did some researching and apparently adjusting GPU fan speed isn't the easiest thing in the world to do (for my skill level atleast). I did find some C++ source for doing it but didn't really fiddle with it too much. As far as converting my entire VB app to C++ I don't know if I'm going to bother spending the time. I don't want to reinvent the wheel and re-make apps that already perfectly exist ie. realtemp for cpu temp and I already need RivaTuner running for fan control and at the same time it fills my need for GPU temp.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page