Linux script to get most expensive processes
MRAB
python at mrabarnett.plus.com
Tue Aug 4 18:00:02 EDT 2015
On 2015-08-04 22:30, Cecil Westerhof wrote:
> On Tuesday 4 Aug 2015 22:52 CEST, Emile van Sebille wrote:
>
>> On 8/4/2015 1:19 PM, Cecil Westerhof wrote:
>>> Under Linux I like to get the most expensive processes. The two
>>> most useful commands are: ps -eo pid,user,pcpu,args --sort=-pcpu
>>> and: ps -eo pid,user,pcpu,args --sort=-vsize
>>>
>>> In my case I am only interested in the seven most expensive
>>> processes. For this I wrote the following script.
>> <snip>
>>> Is this a reasonable way to do this? Getting the parameter is done
>>> quit simple, but I did not think fancy was necessary here.
>>
>>
>> My platform shows as linux2 and it worked fine for me when checking
>> for that.
>
> I heard that that was possible also, but none of my systems gives
> this. I should change it. I was also thinking about posix systems, but
> the Linux ps does more as others, so I did not do that.
>
> I amended the code to work with linux and linux2:
> ========================================================================
> accepted_params = {
> 'pcpu',
> 'rss',
> 'size',
> 'time',
> 'vsize',
> }
> accepted_platforms = {
> 'linux',
> 'linux2',
> }
> current_platform = sys.platform
> max_line_length = 200
> no_of_lines = 8 # One extra for the heading
>
> is_good_platform = False
> for platform in accepted_platforms:
> if platform == current_platform:
> is_good_platform = True
> break
> if not is_good_platform:
> raise Exception('Got an incompatiple platform: {0}'.
> format(current_platform))
> ========================================================================
>
Doesn't that 'for' loop do the same as:
is_good_platform = current_platform in accepted_platforms
?
More information about the Python-list
mailing list