On 09/06/2015 09:08 AM, Billie Walsh wrote:
I have noticed that at times when my computer has been running 24/7 for a few weeks things might slow down. Sometimes it's just one application, Firefox seems to choke if you've had LOTS of tabs open and close over a long period, or Bluefish will choke after opening and closing a few dozen pages. If it's just an application I close and reopen. However, if it's the whole system a reboot clears the baffles quite nicely.
I think the issue is that bits and pieces of "stuff" get stuck and not properly deleted when you close. Over time these bits and pieces build up and cause issues. Closing the program causing the issue or a reboot does a better job of cleaning up.
I have a theory here. The old V7 UNIX had fixed size internal tables for the number of process, the number of open files, the number of i-nodes and stuff like that. If you ran out of entries then that was that. Modern Linux 9and other modern version of UNIX and its derivatives) make use of dynamically generated tables. So when you have Firefox with a gazzilion tabs and each tab being a web page with umpty references to the 'net for style sheets, scripts, and images, all that get to demand a lot of system resources. FF may limit the number active at once but the table entries stic around. The tools that look at the number of open files, for example, on a VM system with dynamic libraries may need thousands of open file table entries. So how are those handled? Do those tables ever get shrunk? I doubt it. I suspect that much of the kernel works by either pointer or index, and rearranging those tables dynamically would upset cross references between them. So while shutting down FF may free up resources, those expanded tables are still in use. FF's own internals might be 'clear' on a restart. The 'efficiency' of the kernel relies on things like pointers. I can't see that being changed. Attempts at 'object reference' and LISP like tagging as OS kernels have been tried and generally either are not efficient or not flexible enough to replace the way the Linux works. Unless you want to use a microkernel and OSX, perhaps. Yes, rebooting will cause all these tables to be 'reduced in size' and obsolete entries cleared. While this might account for the slowness of 'mature' systems that lots of static apps like Firefox, I don't see it being the soruce of Xen's slowdown. =============================== I'm not a Linux kernel hacker; I'm basing this on when I was a kernel hacked years ago for BSD VM on a VAX and System V dynamic memory and table management that I worked with, and what I've read more recently about the Linux kernel. It seems an adequate explanation of what Billie describes. I don't imagine it accounts for all perceived application level delays. -- A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting frowned upon? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org