ProcLimits - File /proc/<PID>/limits
Parser for parsing the the limits file under special /proc/<PID>
directory.
- class insights.parsers.proc_limits.HttpdLimits(context)[source]
Bases:
ProcLimitsClass for parsing the
limitsfile of thehttpdprocess.
- class insights.parsers.proc_limits.Limits(data={})[source]
Bases:
LegacyItemAccessAn object representing a line in the
/proc/limits. Each entry contains below fixed attributes:- hard_limit
Hard limit
- Type:
str
- soft_limit
Soft limit
- Type:
str
- units
Unit of the limit value
- Type:
str
- class insights.parsers.proc_limits.MysqldLimits(context)[source]
Bases:
ProcLimitsClass for parsing the
limitsfile of themysqldprocess.
- class insights.parsers.proc_limits.OvsVswitchdLimits(context)[source]
Bases:
ProcLimitsClass for parsing the
limitsfile of theovs-vswitchdprocess.
- class insights.parsers.proc_limits.ProcLimits(context)[source]
Bases:
ParserBase class for parsing the
limitsfile under special/proc/<PID>directory into a list of dictionaries by using theinsights.parsers.parse_fixed_table()function.Each line is a dictionary of fields, named according to their definitions in
Limit.This class provides the ‘__len__’ and ‘__iter__’ methods to allow it to be used as a list to iterate over the parsed dictionaries.
Each of the resource provided by this file will be set as an attribute. The attribute name is the resource name got from the
Limitcolumn, which is converted to lowercase and joined the words with underline ‘_’. If not sure about whether an attribute is exist or not, check it via the ‘__contains__’ method before fetching it. The attribute value is set to aLimitswhich wraps the correspondinghard_limit,soft_limitandunits.Typical content looks like:
Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 10485760 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 9 99 processes Max open files 1024 4096 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 15211 15211 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
Examples
>>> len(proc_limits) 16 >>> proc_limits.max_processes.hard_limit '99' >>> proc_limits.max_processes.soft_limit '9' >>> 'max_cpu_time' in proc_limits True >>> proc_limits.max_cpu_time.soft_limit 'unlimited' >>> proc_limits.max_cpu_time.units 'seconds'
- Raises:
insights.core.exceptions.ParseException -- if the
limitsfile is empty or doesn’t exist.