[gobolinux-users] Prevent a process from paging out

Dan theyranos at gmail.com
Sat Sep 9 03:35:27 UTC 2006


> Hmm.  Is evrouter a "long running" process like a daemon or a quick
> one that spawns for each event?

It's a daemon. I generally run two instances of it at once, one with  
root privileges and one without, which is why the fact that two with  
the modification cannot coexist is a problem.

> You said evrouter is starting scripts (sh??) based on the events.  In
> a memory starved env the kernel must make room for those scripts by
> swapping pages out.  If it's bash, that's probably a lot bigger than
> evrouter.

It's sh. And yeah, that's probably the bottleneck. As usual, I failed  
to think of something blatantly obvious before I made a fool of  
myself on a public list.


> On 9/8/06, Theyranos <theyranos at gmail.com> wrote:
>> Hm. I tried this, and it worked exactly once. After that, all
>> attempts to use evrouter gave an error message saying something like
>> "no devices were opened," which means to me that probably, the first
>> launch locked some piece of shared memory that future evrouter
>> instances also needed. Obviously the fix would be to add a
>> corresponding munlockall, but the only way to stop evrouter is to
>> kill it, and I know absolutely nothing about signal handling in C.
>>
>> At the moment, I'm running standard evrouter. When I have more time
>> (probably tomorrow), I'll figure out the signal handling stuff and
>> add the appropriate munlockall to check whether it solves the  
>> problem.
>>
>> Thanks!
>>
>>
>>> man 2 mlock
>>>
>>> It'll require patching the source.  A quick ugly hack would be:
>>>
>>> add "#include <sys/mman.h>" with other headers
>>> add "mlockall(MCL_FUTURE)" towards the beginning of main()
>>>
>>> Good luck.  If you have problems check the return code, also see the
>>> section on Limits and permissions in the manpage.
>>>
>>> On 9/8/06, Dan <theyranos at gmail.com> wrote:
>>>> I use evrouter (http://www.bedroomlan.org/~alexios/
>>>> coding_evrouter.html) to make the extra buttons on my Logitech  
>>>> mouse
>>>> do stuff. I've noticed recently that if I don't use it for a while,
>>>> it can take as much as a minute for the button press to have any
>>>> result, whereas if evrouter has done something recently, the  
>>>> response
>>>> is instantaneous.
>>>>
>>>> The only guess I have as to why this is happening is the swap file.
>>>> My hard drives are painfully slow, so paging in evrouter could
>>>> definitely explain the delay. Does anyone know a way (other than
>>>> buying more RAM) to prevent the machine from using the swap file  
>>>> for
>>>> a specific process?
>>>>
>>>> Thanks
>>>> Dan
>>>> _______________________________________________
>>>> gobolinux-users mailing list
>>>> gobolinux-users at lists.gobolinux.org
>>>> http://lists.gobolinux.org/mailman/listinfo/gobolinux-users
>>>>
>>>
>>>
>>> --
>>> Carlo J. Calica
>>> _______________________________________________
>>> gobolinux-users mailing list
>>> gobolinux-users at lists.gobolinux.org
>>> http://lists.gobolinux.org/mailman/listinfo/gobolinux-users
>>
>> _______________________________________________
>> gobolinux-users mailing list
>> gobolinux-users at lists.gobolinux.org
>> http://lists.gobolinux.org/mailman/listinfo/gobolinux-users
>>
>
>
> -- 
> Carlo J. Calica
> _______________________________________________
> gobolinux-users mailing list
> gobolinux-users at lists.gobolinux.org
> http://lists.gobolinux.org/mailman/listinfo/gobolinux-users



More information about the gobolinux-users mailing list