Giving more CPU time to a swapping process?
usleepless at gmail.com
usleepless at gmail.com
Thu Apr 6 14:11:46 UTC 2006
Hello,
i am just wondering myself: this has nothing to with "copy on write"?
or does that not exist on neither platform?
regards,
usleep
On 4/6/06, Bill Moran <wmoran at collaborativefusion.com> wrote:
> "Karl Ma" <freunden at gmail.com> wrote:
> > Hi,
> >
> > I have a python program in freebsd, doing a heavey indexing job involving
> a
> > mega size array.
> >
> > The process is so memory-hungry that it starts swap after the physical RAM
> > max out. (To be exact, I've lowered the per-process limitation to make
> this
> > possible).
>
> Why would you do this? I dare you to lower the per-process limitation on
> Window XP and see how the run times compare. If you lower the amount of
> resources, of course the process will perform badly.
>
> Any time a process has to swap, performance will suffer _greatly_. Either
> invest in more RAM or optimize the process to be more RAM efficient.
>
> > However, when I use top to monitor the status, the STATE of the process
> > started to stay as "swread" for most of the time (instead of RUN before
> > using swap) and its priority has dropped to -20; and the corresponding
> WCPU
> > drops to around 1% only. And the CPU consumption time in total (for the
> > whole job) would only increase a minute or two even the process has been
> > running for more than a few hours.
>
> Yes. That is the system automatically doing what you are asking how to
> do. Since the process is spending so much time waiting for data to
> swap in/out, the kernel lowers the priority (lower priority # on Unix
> systems means the process has a higher priority) so the process will
> be the first into the run queue when it has it's data. However, it
> can't run when it doesn't have the data it needs, and swapping takes
> time.
>
> > In Windows XP, which has less per-task resource restriction (I guess?), I
> > did successfully complete the task on the same hardware machine; although
> it
> > takes more than 30 mins.
>
> Did you lower the per-process limit on XP to match what you did on FreeBSD?
> If not, then why are you trying to compare apples to elephants?
>
> > How can I push up the priority of the whole paging task?
>
> If you want to change the priority of the paging task, you'll need to
> hack the kernel.
>
> > How can I
> > allocate more CPU attention to this process? I've tried using "nice"
> > but it does not help.
>
> nice is the correct command to allocate more CPU attention to the process.
> However, the process can't use the CPU if it doesn't have it's data in
> memory.
>
> --
> Bill Moran
> Potential Technologies
> http://www.potentialtech.com
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
More information about the freebsd-questions
mailing list