linux

package
v4.1.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2018 License: MIT Imports: 8 Imported by: 7

Documentation

Index

Constants

View Source
const (
	Unlimited uint64 = 1<<64 - 1
)

Variables

This section is empty.

Functions

func GetMemoryLimit

func GetMemoryLimit(pid int) (limit uint64, err error)

func GetOpenFileCount

func GetOpenFileCount(pid int) (n uint64, err error)

Types

type CGroup

type CGroup struct {
	ID   int
	Name string
	Path string // Path in /sys/fs/cgroup
}

type Limits

type Limits struct {
	Name string
	Soft uint64
	Hard uint64
	Unit string
}

type ProcCGroup

type ProcCGroup []CGroup

func GetProcCGroup

func GetProcCGroup(pid int) (proc ProcCGroup, err error)

func ParseProcCGroup

func ParseProcCGroup(s string) (proc ProcCGroup, err error)

func (ProcCGroup) GetByFunc

func (pcg ProcCGroup) GetByFunc(f func(CGroup) bool) (res []CGroup)

func (ProcCGroup) GetByID

func (pcg ProcCGroup) GetByID(id int) []CGroup

func (ProcCGroup) GetByName

func (pcg ProcCGroup) GetByName(name string) []CGroup

type ProcLimits

type ProcLimits struct {
	CPUTime          Limits // seconds
	FileSize         Limits // bytes
	DataSize         Limits // bytes
	StackSize        Limits // bytes
	CoreFileSize     Limits // bytes
	ResidentSet      Limits // bytes
	Processes        Limits // processes
	OpenFiles        Limits // files
	LockedMemory     Limits // bytes
	AddressSpace     Limits // bytes
	FileLocks        Limits // locks
	PendingSignals   Limits // signals
	MsgqueueSize     Limits // bytes
	NicePriority     Limits
	RealtimePriority Limits
	RealtimeTimeout  Limits
}

func GetProcLimits

func GetProcLimits(pid int) (proc ProcLimits, err error)

func ParseProcLimits

func ParseProcLimits(s string) (proc ProcLimits, err error)

type ProcSched

type ProcSched struct {
	NRSwitches            uint64 // nr_switches
	NRVoluntarySwitches   uint64 // nr_voluntary_switches
	NRInvoluntarySwitches uint64 // nr_involuntary_switches
	SEAvgLoadSum          uint64 // se.avg.load_sum
	SEAvgUtilSum          uint64 // se.avg.util_sum
	SEAvgLoadAvg          uint64 // se.avg.load_avg
	SEAvgUtilAvg          uint64 // se.avg.util_avg
}

func GetProcSched

func GetProcSched(pid int) (proc ProcSched, err error)

func ParseProcSched

func ParseProcSched(s string) (proc ProcSched, err error)

type ProcStat

type ProcStat struct {
	Pid                 int32     // (1) pid
	Comm                string    // (2) comm
	State               ProcState // (3) state
	Ppid                int32     // (4) ppid
	Pgrp                int32     // (5) prgp
	Session             int32     // (6) session
	TTY                 int32     // (7) tty_nr
	Tpgid               int32     // (8) tpgid
	Flags               uint32    // (9) flags
	Minflt              uint64    // (10) minflt
	Cminflt             uint64    // (11) cminflt
	Majflt              uint64    // (12) majflt
	Cmajflt             uint64    // (13) cmajflt
	Utime               uint64    // (14) utime
	Stime               uint64    // (15) stime
	Cutime              int64     // (16) cutime
	Cstime              int64     // (17) cstime
	Priority            int64     // (18) priority
	Nice                int64     // (19) nice
	NumThreads          int64     // (20) num_threads
	Itrealvalue         int64     // (21) itrealvalue
	Starttime           uint64    // (22) starttime
	Vsize               uint64    // (23) vsize
	Rss                 uint64    // (24) rss
	Rsslim              uint64    // (25) rsslim
	Startcode           uintptr   // (26) startcode
	Endcode             uintptr   // (27) endcode
	Startstack          uintptr   // (28) startstack
	Kstkeep             uint64    // (29) kstkeep
	Kstkeip             uint64    // (30) kstkeip
	Signal              uint64    // (31) signal
	Blocked             uint64    // (32) blocked
	Sigignore           uint64    // (33) sigignore
	Sigcatch            uint64    // (34) sigcatch
	Wchan               uintptr   // (35) wchan
	Nswap               uint64    // (36) nswap
	Cnswap              uint64    // (37) cnswap
	ExitSignal          int32     // (38) exit_signal
	Processor           int32     // (39) processor
	RTPriority          uint32    // (40) rt_priority
	Policy              uint32    // (41) policy
	DelayacctBlkioTicks uint64    // (42) delayacct_blkio_ticks
	GuestTime           uint64    // (43) guest_time
	CguestTime          int64     // (44) cguest_time
	StartData           uintptr   // (45) start_data
	EndData             uintptr   // (46) end_data
	StartBrk            uintptr   // (47) start_brk
	ArgStart            uintptr   // (48) arg_start
	ArgEnd              uintptr   // (49) arg_end
	EnvStart            uintptr   // (50) env_start
	EnvEnd              uintptr   // (51) env_end
	ExitCode            int32     // (52) exit_code
}

func GetProcStat

func GetProcStat(pid int) (proc ProcStat, err error)

func ParseProcStat

func ParseProcStat(s string) (proc ProcStat, err error)

type ProcState

type ProcState rune
const (
	Running                         ProcState = 'R'
	Sleeping                        ProcState = 'S'
	WaitingUninterruptibleDiskSleep ProcState = 'D'
	Zombie                          ProcState = 'Z'
	Stopped                         ProcState = 'T'
	TracingStop                     ProcState = 't'
	Paging                          ProcState = 'P'
	Dead                            ProcState = 'X'
	Dead_                           ProcState = 'x'
	Wakekill                        ProcState = 'W'
	Parked                          ProcState = 'P'
)

func (*ProcState) Scan

func (ps *ProcState) Scan(s fmt.ScanState, _ rune) (err error)

type ProcStatm

type ProcStatm struct {
	Size     uint64 // (1) size
	Resident uint64 // (2) resident
	Share    uint64 // (3) share
	Text     uint64 // (4) text
	Lib      uint64 // (5) lib
	Data     uint64 // (6) data
	Dt       uint64 // (7) dt
}

func GetProcStatm

func GetProcStatm(pid int) (proc ProcStatm, err error)

func ParseProcStatm

func ParseProcStatm(s string) (proc ProcStatm, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL