Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Apr 2006 16:11:16 +0200
From:      usleepless@gmail.com
To:        "Bill Moran" <wmoran@collaborativefusion.com>
Cc:        Karl Ma <freunden@gmail.com>, freebsd-questions@freebsd.org
Subject:   Re: Giving more CPU time to a swapping process?
Message-ID:  <c39ec84c0604060711j467db648oeaa181267cd36cf@mail.gmail.com>
In-Reply-To: <20060406100059.18767788.wmoran@collaborativefusion.com>
References:  <42a5f58c0604060143g5e68e806r870761a1beeefbb5@mail.gmail.com> <20060406100059.18767788.wmoran@collaborativefusion.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@collaborativefusion.com> wrote:
> "Karl Ma" <freunden@gmail.com> wrote:
> > Hi,
> >
> > I have a python program in freebsd, doing a heavey indexing job involvi=
ng
> 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_.  Eithe=
r
> 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 bee=
n
> > 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; althou=
gh
> it
> > takes more than 30 mins.
>
> Did you lower the per-process limit on XP to match what you did on FreeBS=
D?
> 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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.o=
rg"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c39ec84c0604060711j467db648oeaa181267cd36cf>