몇 가지 파이썬 스크립트
통계 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