Results 1 to 2 of 2
Hi,
I am working on Client Server Application on RHEL 5.0 in C++, My Server application use the usbdemon (usb driver to read data from usb) ,
Now i tested ...
- 06-19-2009 #1Just Joined!
- Join Date
- Feb 2009
- Posts
- 3
memory leakage in server application
Hi,
I am working on Client Server Application on RHEL 5.0 in C++, My Server application use the usbdemon (usb driver to read data from usb) ,
Now i tested my server application on two different machine:
( Client machine is RHEL 4.7 (32bit) for both server)
1. RHEL 5.0 (64 bit)
After running the around 40 hours server machine gets very slow , i checked the memory usage by "free" command which shows that 1GB RAM is completely consumed and .5GB swap memory used
Then i used the "top" command to identify the memory usage by my application(server) Which was 99mb and it is usual (I am using this much memory to keep my client information)
But more interestingly "udevd" process was consuming the 280MB memory. Where as initially it was using the 36K.
2. RHEL 5.0 (32 bit)
Here everything runs right, My server application taking again 10mb after full load . And more surprisingly "udevd" process is taking 36K memory after 60 hour of testing.
HERE are my questions
1. is it memory leakage in my application?
2. what is the use of "udevd" ?
3. Why Only 64 bit machine is increasing the memory consumption.
Thanks in advance
- 06-19-2009 #2Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 8,974
According to the udevd manpage:
So, since this is just a kernel event manager process, I cannot see any reason why it is leaking in the 64-bit kernel and not the 32-bit one unless there is some other issue with your 64-bit system configuration, such as improperly configured logging, etc.Code:UDEVD(8) udevd, udevcontrol UDEVD(8) NAME udevd - event managing daemon SYNOPSIS udevd [--daemon] udevcontrol command DESCRIPTION udevd listens to kernel uevents and passes the incoming events to udev. It ensures the right event order and takes care, that events for child devices are delayed until the parent has finished the device handling. OPTIONS --daemon Detach and run in the background. log_priority=value udevcontrol can dynamically set the log level of udevd. Valid values are the numerical syslog priorities or their textual representations: err, info and debug. stop_exec_queue udevcontrol stops the execution of events from udevd. start_exec_queue udevcontrol starts the execution of events from udevd. ENVIRONMENT UDEV_LOG Overrides the syslog priority specified in the config file. AUTHOR Written by Kay Sievers <kay.sievers@vrfy.org>. SEE ALSO udev(7) udev August 2005 UDEVD(8)
There is a possibility that you have stumbled on a bug in the 64-bit kernel, but that you would need to communicate with Red Hat about that since this is an RHEL system.Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!


Reply With Quote