Started by BenYeeHua, December 04, 2012, 02:41:35 PM
Quote from: Hotrod on December 04, 2012, 01:32:29 PMI may depend greatly on exactly WHAT things you like to do with your browser. If you are visiting a gaming website where the pages are very "busy" ie alot of graphics and sounds and scripts, these will tax your bandwidth to the point that it stalls anything else using the network. I have found that most browsers WANT to have the connection to the page you request at the expense of everything on the system. I have had my browser eat so much bandwidth that nothing else can get a bite. Or on the opposite side one that completely locks up my PC because it can't get ALL the items on a page and goes into an indefinite "Wait" cycle that grinds everything else to a halt.
QuoteTherefore, Microsoft recommends applications set their I/O priority indirectly by changing either the base process priority class or individual thread priority.
QuoteOn Windows Vista, every page of memory has a priority in the range of 0 to 7, and so the Memory Manager divides the Standby List into eight lists that each store pages of a particular priority. When the Memory Manager wants to take a page from the Standby List, it takes pages from low-priority lists first. A page's priority usually reflects that of the thread that first causes its allocation. (If the page is shared, it reflects the highest of memory priorities of the sharing threads.) A thread inherits its page-priority value from the process to which it belongs. The Memory Manager uses low priorities for pages it reads from disk speculatively when anticipating a process's memory accesses.By default, processes have a page-priority value of 5, but functions allow applications and the system to change process and thread page-priority values. The real power of memory priorities is realized only when the relative priorities of pages are understood at a macro-level, which is the role of SuperFetch.
QuoteAnyway, even with the scheduled task priority fix, the memory priority of your task is set to 4, which is one notch below the normal setting of 5. When I manually boosted the memory priority of my task up to 5, the performance was on par with running the process interactively.For info on boosting the priority, see my answer to a related StackOverflow question about IO priority; setting memory priority is done similarly, via NtSetInformationProcess, with PROCESS_INFORMATION_CLASS set to ProcessMemoryPriority (the value of this is 39 or 0x27). I might make a free utility that can be used to set this, if others need it and don't have access to programmer tools.EDIT: I've gone ahead and written a free utility for querying and setting the memory priority of a task, available here. The download contains both source code and a compiled binary.
QuoteThe memory priority of a thread or process serves as a hint to the memory manager when it trims pages from the working set. Other factors being equal, pages with lower memory priority are trimmed before pages with higher memory priority. For more information, see Working Set.
Quote from: BenYeeHua on December 04, 2012, 02:41:35 PMWill PL adding the "Background" Priority and adding the strange "Memory Priority", or the answer is this?http://bitsum.com/pl_io_priority.php
QuoteBackground is the same as 'Very Low' in Process Lasso. I should probably change it to 'Background' instead of 'Very Low'. My rationale for using Very Low was simply to make it in line with the other priorities, as 'Background' isn't necessarily clear that it is lowest possible.
QuoteSo, this will change in the next minor update, and I appreciate you pointing it out.
Quote from: Jeremy Collake on December 08, 2012, 05:34:30 PMAh, semantics . Background is technically the name of the lowest I/O priority, with Idle being the corresponding CPU priority. At least that is how they are specified in MSDN. Though these are just names and they do correlate with each other, so you are also correct. Some process managers have simply used 'background' to indicate using the lowest (for all) priority. It makes sense, and is easier for users to understand simply setting the process as 'Background' to induce the lowest priority for all.Increasing the memory priority for the foreground application is an interesting idea. I'm not sure it would make a difference since the virtual memory manager considers *a lot* of factors when doing paging, with the memory priority just being one of them. However, it probably wouldn't hurt, and could potentially be useful --- and, if nothing else, seem useful to some people ;p.I am going to try to get this update issued in a few hours ...
Quotelike app going into foreground or what ever reason its raised .
QuoteIncreasing the memory priority for the foreground application is an interesting idea. I'm not sure it would make a difference since the virtual memory manager considers *a lot* of factors when doing paging, with the memory priority just being one of them. However, it probably wouldn't hurt, and could potentially be useful --- and, if nothing else, seem useful to some people ;p.
Quote from: Jeremy Collake on December 15, 2012, 10:29:34 PMDo you want a short answer? They are useless for boosting your PC performance in any way and should be avoided. See above for more complicated discussions.
QuoteELEVATION of Process Lasso (see Main Menu, click box in dialog you see there to run as admin).
Quote(if exists??) check local security policy and user rights to see if any right or policy exists related to these - I haven't yet explored them all, though am looking now. One exists for 'real-time' priority, for instance. REPEAT - It could even be that the 'Increase Scheduling Priority' security right is something that also applies to memory priorities. Run 'secpol.msc'