Sometimes idle process(%98) and load average(98.32) are very high. When its happen I check with "top" command and I kill visible process. After killing machine status already same. How can I check high process using ps command.
I want to find that which processes are using more than %50 CPU or something like that witout top. Thanks for your kindly feedbacks.
ps usually shows the usage as average since the process was started. So spikes etc. are never visible that way. I am not completely sure if there is an option for ps on RedHat Linux to specify an interval.
So instead I would use the batch mode of top for a quick solution, which is -b and parse it's output.
You could look at the current C value from a ps command.
You might need to check the column it is sorting on (I'm assuming the fourth) This should sort the processes based on what is busy that the moment. It's a little hit-and-miss I agree, but it can help. As a process is actually running, the counter gets incremented. When it is idle or swapped out it slowly reduces. This way, the process scheduler can determine which process is next in line so busy processes get (in theory) pushed out a little if the system is busy.
Of course processes will run as fast as they can, so they may get swapped in & out frequently. The trick is to run this a few times and compare the output. A process with a consistently high C value is busy - and you'll probably see the CPU time clocking up too.
How are you measuring your CPU use? If you just use something like:-
... then the first (and only) line is the average since last boot. If the server has been very busy for a very long time, then that figure can be skewed. Can you post some sample stats and the commands you are getting them with? The tail end of the output from my ps command may help us to. Make sure you sanitise them if need be. We have plenty of users who start Oracle connections specifying the user/password on the command line for everyone to see.
To check the columns and their order, use:-
I hope that this helps,
Robin
Liverpool/Blackburn
UK
Last edited by rbatte1; 06-26-2013 at 11:56 AM..
Reason: Added questions
Thanks for reply. We fix our issue. Application user ran find command more than one times so load average and CPU were high. We can't saw these process on output of top command at that time. Later we killed find process and load average fixed.
I found below commands to show percentage of CPU and RAM process. These are very useful commands. I am going to test when load average is high. I think this shows unfinished find commands or somethings like that.
Sorry but that is usually not helping. It is exact the problem I formerly described. You just display the CPU usage of the process, since the process has been started and so with an average. An average over such a long time/interval never gets peaks of any kind. They will be flattened away. I saw Nagios-plugins, that used something like that, but they are useless in terms of alarming threshold of unwanted kinds of peaks for example.
Example:
So when a process runs for 20 hours now, with a CPU usage of 40% and then another hour with 99%, you will get displayed a somewhat constant value which is the average of 21 hours which would be (20*40 + 1*99) / 21 = 42.8%.
If you take this to decide if you kill a process, then good night
Sorry but, I strongly doubt that your ps helps you at all for this.
Maybe check out the top -b I mentioned.
The C column Robin stated is helpful too, but as he discribed is hard to set into relation to other processes and has to be monitored over some time to get a feeling for what is high and what is low.
These three finds worked as expected:
$ find . -iname "*.PDF"
$ find . -iname "*.PDF" \( ! -name "*_nobackup.*" \)
$ find . -path "*_nobackup*" -prune -iname "*.PDF"
They all returned the match:
./folder/file.pdf
:b:
This find returned no matches:
$ find . -path "*_nobackup*" -prune... (3 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
Hello everyone
Sorry I have to add another sed question. I am searching a log file and need only the first 2 occurances of text which comes after (note the space) "string " and before a ",". I have tried
sed -n 's/.*string \(*\),.*/\1/p' filewith some, but limited success. This gives out all... (10 Replies)
I want to list all files/lines which except those which contain the pattern ' /proc/' OR ' /sys/' (mind the leading blank).
In a first approach I coded:
find / -exec ls -ld {} | grep -v ' /proc/| /sys/' \; > /tmp/list.txt
But this doesn't work. I got an error (under Ubuntu):
grep:... (5 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
I have high values (such as ˙˙˙˙) in a text file contained in an Unix AIX server. I need to identify all the records
which are having these high values and also get the position/column number in the record structure if possible. Is there
any Unix command by which this can be done to :
1.... (5 Replies)
I have three files a.txt , b.txt , c.txt in a directory called my_dir1 .These files were created before two or three months . I have a tar file called my_tar1.tar which contains three files a.txt , b.txt , d.txt . Somebody untarred the my_tar1.tar into my_dir1 directory. So existing two files were... (1 Reply)
Dear friends,
please tell me how to find the files which are existing in the current directory, but it sholud not search in the sub directories..
it is like this,
current directory contains
file1, file2, file3, dir1, dir2
and dir1 conatins
file4, file5
and dir2 contains
file6,... (9 Replies)