Re: Help with memory usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Well, if you know at what time the increase takes place, isn't it also possible to point out which process is doing it? I don't know if you have already looked at it, but I take it that this process would also take up CPU power, or it's a process that is being start up only at around the specific time. In any case, you should see this process gradually eat up your memory and freeing it up later on.

I had a memory problem as well a couple years back, and all I did was putting "ps ax" in a file every 5 minutes. I could easily see which process was eating up all my memory. Its a rather crude method, but effective. And yea, it'll take some time to wade through all the data, but you already know at what times the increase takes place, so you can narrow down your search quite a bit.

aragonx@xxxxxxxxxx wrote:
I have a server that has 32G of physical memory and 10G of swap space. Routinely during the day, always around the same time, it will gradually
go to ~80% swap space usage.

Using Hotsanic, I can see that this percentage of swap space usage has
been gradually increasing over the months.  About a year ago, it was at
~50% so now I'm becoming alarmed.

The simple solution (which I will be doing in any case) is to add more
swap space.  This does fix the memory issue but I fear there are some
performance implications that I have yet to hear about from my users.

So, I wrote a program that I thought would gather the amount of memory
used by my key applications (being Oracle and Java) and display it for me.
 The idea was flawed because of shared memory.  I have yet to devise a way
around this issue and that is where I could use some help.

Here is the program for informational purposes:

TOTAL=0

if [ $1 = "" ]
then
   echo "You must enter the program you wish to find out the memory usage
for."
fi

ps -ef|grep $1|grep -v grep|tr -s " "|cut -d " " -f2 >
/tmp/will_memory_usage.txt

exec 3< /tmp/will_memory_usage.txt
until [ $done ]
do
   read <&3 line
   if [ $? != 0 ]; then
      done=1
      continue
   fi
   PROCVERT=`cat /proc/$line/status|grep VmSize|tr -s " "|cut -d " " -f2`
   let TOTALVERT=TOTALVERT+PROCVERT

   PROCREAL=`cat /proc/$line/status|grep VmRSS|tr -s " "|cut -d " " -f2`
   let TOTALREAL=TOTALREAL+PROCREAL
done

echo "$1 virtual memory usage is $TOTALVERT."
echo "$1 real memory usage is $TOTALREAL."
let TOTAL=TOTALREAL+TOTALVERT
echo " "
echo "Total $1 memory usage is $TOTAL."

rm /tmp/will_memory_usage.txt





[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux