몇 가지 파이썬 스크립트

통계 CPU 정보

#!/usr/bin/env 파이썬

__future__에서 print_function 가져오기

컬렉션에서 OrderedDict 가져오기

가져오기 pprint

def cpuinfo():

”’ /proc/cpuinfo의 정보를 반환합니다.

다음 형식의 사전으로:

CPU 정보['프로시0']={…}

CPU 정보['프로1′]={…}

”’

cpuinfo=OrderedDict()

procinfo = OrderedDict()

nprocs = 0

열린('/proc/cpuinfo') f로:

f의 줄에 대해:

line.strip이 아닌 경우():

# 하나의 프로세서의 끝

CPU 정보['프로시저 %s’ % nprocs] = 절차 정보

nprocs=nprocs+1

# 초기화

procinfo = OrderedDict()

그밖에:

렌이라면(line.split(‘:’)) == 2:

절차 정보[line.split(‘:’)[0].조각()] = line.split(‘:’)[1].조각()

그밖에:

절차 정보[line.split(‘:’)[0].조각()] = ”

CPU 정보 반환

if __name__=='__main__':

cpuinfo = cpuinfo()

cpuinfo.keys의 프로세서용():

인쇄(CPU 정보[프로세서]['모델명'])

작업 결과

[루트 @ AMH 파이썬]# 파이썬 cpu1.py

인텔(아르 자형) 핵심(TM) i3-4170 CPU @ 3.70GHz

15분 안에 CPU 부하를 계산합니다.

수입

def load_stat():

부하 평균 = {}

f = 열림(“/proc/loadavg”)

죄수 = f.read().나뉘다()

f.닫기()

로드 평균['lavg_1']= 와[0]

로드 평균['lavg_5']= 와[1]

로드 평균['lavg_15']= 와[2]

로드 평균[´ n ´]= 와[3]

로드 평균['마지막_피드']= 와[4]

loadavg 반환

인쇄 “로드 평균”,load_stat()['lavg_15']

작업 결과

[루트 @ AMH 파이썬]# 파이썬 CPU2.py

로드 평균 0.00

통계 메모리 사용량

#!/usr/bin/env 파이썬

__future__에서 print_function 가져오기

컬렉션에서 OrderedDict 가져오기

def meminfo():

”’ /proc/meminfo의 정보를 반환합니다.

사전으로 ”’

meminfo=OrderedDict()

열린('/proc/meminfo') f로:

f의 줄에 대해:

메모 정보[line.split(‘:’)[0]] = line.split(‘:’)[1].조각()

메모 정보를 반환

if __name__=='__main__':

#인쇄(메모 정보())

멤인포 = 멤인포()

인쇄('총 메모리: {0}'.체재(메모 정보['멤토탈']))

인쇄('자유 메모리: {0}'.체재(메모 정보['멤프리']))

작업 결과

[루트 @ AMH 파이썬]# 파이썬 mem.py

총 메모리: 615036 KB

여유 메모리: 49288 KB

네트워크 사용량 통계

#!/usr/bin/env 파이썬

가져오기 시간

수입 시스템

렌이라면(sys.argv) > 1:

인터페이스 = sys.argv[1]

그밖에:

인터페이스 = 'eth0’

통계 = []

인쇄 '인터페이스:’,상호 작용

데프 RX():

ifstat = 열림('/프로시저/넷/데브').리드라인()

ifstat의 인터페이스용:

인터페이스에 INTERFACE가 있는 경우:

통계 = 부동(인터페이스.분할()[1])

통계[0:] = [통계]

데프 TX():

ifstat = 열림('/프로시저/넷/데브').리드라인()

ifstat의 인터페이스용:

인터페이스에 INTERFACE가 있는 경우:

통계 = 부동(인터페이스.분할()[9])

통계[1:] = [통계]

인아웃을 출력하다’

수신()

텍사스()

참인 동안:

시간.수면(1)

rxstat_o = 목록(통계)

수신()

텍사스()

RX = 부동(통계[0])

RX_O = rxstat_o[0]

TX = 부동(통계[1])

TX_O = rxstat_o[1]

RX_RATE = 라운드((수신 – RX_O)/1024/1024,3)

TX_RATE = 라운드((텍사스 – TX_O)/1024/1024,3)

RX_RATE 인쇄 ,'엠비',TX_RATE ,'MB’

작업 결과

[루트 @ AMH 파이썬]# 파이썬 net.py

상호 작용: eth0

인 아웃

0.008 MB 0.002 MB

0.006 MB 0.001 MB

0.007 MB 0.002 MB

0.008 MB 0.002 MB

0.008 MB 0.002 MB

0.008 MB 0.002 MB

0.008 MB 0.002 MB

답장을 남겨주세요