리눅스에서 /proc/diskstats
(분명히 크로스 플랫폼 라이브러리가 좋을지라도)에서 제공되는 것과 비슷한 통계에 액세스하여 파이썬 프로그램에서 시스템 IO로드를 모니터링하고 싶습니다. 리눅스에서 디스크 입출력 통계를 쿼리하는데 사용할 수있는 기존 파이썬 라이브러리가 있습니까?/proc/diskstats를 모니터링하기위한 Python 라이브러리?
5
A
답변
10
알렉스 같은 파이썬은/proc/diskstats을 구문 분석하려고 http://dag.wieers.com/home-made/dstat/ 제안 :
def diskstats_parse(dev=None):
file_path = '/proc/diskstats'
result = {}
# ref: http://lxr.osuosl.org/source/Documentation/iostats.txt
columns_disk = ['m', 'mm', 'dev', 'reads', 'rd_mrg', 'rd_sectors',
'ms_reading', 'writes', 'wr_mrg', 'wr_sectors',
'ms_writing', 'cur_ios', 'ms_doing_io', 'ms_weighted']
columns_partition = ['m', 'mm', 'dev', 'reads', 'rd_sectors', 'writes', 'wr_sectors']
lines = open(file_path, 'r').readlines()
for line in lines:
if line == '': continue
split = line.split()
if len(split) == len(columns_disk):
columns = columns_disk
elif len(split) == len(columns_partition):
columns = columns_partition
else:
# No match
continue
data = dict(zip(columns, split))
if dev != None and dev != data['dev']:
continue
for key in data:
if key != 'dev':
data[key] = int(data[key])
result[data['dev']] = data
return result
2
정기적으로 방금 /proc/diskstats
을 읽는 것이 좋습니다. sched
을 사용하여 매분 또는 다른 작업을 반복합니까? 리눅스의 procfs
은 커널이 사용자 영역 프로그램에 정보를 제공하는 텍스트 방식을 제공하기 때문에 멋지다. 텍스트는 다양한 언어로 읽고 쓰는 것이 가장 쉽다 ...!
1
라이브러리를 보지 못했지만 Linux 커널 통계를 읽는 데 "dstat"[1]라는 Python 도구를 사용해 볼 수 있습니다.
[1] - 경우 다른 사람에
5
PSUtil 디스크와 FS 통계의 번호를 제공하고, 또한 교차 플랫폼.
당신은 유용한 통계의 수를 반환 psutil.disk_io_counters(perdisk=True)
보라 :
read_count: number of reads write_count: number of writes read_bytes: number of bytes read write_bytes: number of bytes written read_time: time spent reading from disk (in milliseconds) write_time: time spent writing to disk (in milliseconds)
이 통계는 (리눅스) /proc/diskstats
에서 온
관련 문제
- 1. Python 라이브러리 경로
- 2. Python XMPP 서버 라이브러리
- 3. Python HTTP 라이브러리 검색
- 4. Python RSA 라이브러리?
- 5. 작업 스케줄링을위한 Python 라이브러리,
- 6. Cluto like Python 라이브러리
- 7. XSS 필터링을위한 Python 라이브러리?
- 8. Python 용 Amazon API 라이브러리?
- 9. WebDAV 용 Python 클라이언트 라이브러리
- 10. iPod 동기화를위한 좋은 Python 라이브러리
- 11. Python + PIL에 C++ 라이브러리 노출하기
- 12. 컴파일러 최적화를 실험하기위한 Python 라이브러리
- 13. Python 웹 클라이언트 프로그래밍 라이브러리
- 14. 3D 차트를 생성하기위한 Python 라이브러리?
- 15. Python 라이브러리 릴리즈 우수 사례
- 16. 기하학적 도형을위한 Python Canvas 라이브러리
- 17. Mac 기반 Python GUI 라이브러리
- 18. Python 용 기본 금융 라이브러리
- 19. API 요청 및 응답을 모니터링하기위한 도구는 무엇입니까?
- 20. fsevent없이 OSX의 변경 사항을 모니터링하기위한 디렉토리
- 21. Python 수학 라이브러리 C 수학 라이브러리 및 플랫폼 독립적 인?
- 22. RTSP 라이브러리 (Python 또는 C/C++)?
- 23. Python 이미지 라이브러리 모듈을 사용하는 이미지 반전
- 24. Python - 플랫폼 독립적 인 5.1 사운드 라이브러리
- 25. SyncML 프로토콜을위한 순수 Python 라이브러리 찾기
- 26. Windows에서 VirtualEnv와 함께 Python 이미지 라이브러리 사용
- 27. 정적 라이브러리 (.lib)에서 Python 프로젝트
- 28. suds 라이브러리 (Python)의 사용자 정의 인증
- 29. Python 및 Perl 용 WebService 클라이언트 라이브러리
- 30. Windows/Gnome 용 Python GUI 라이브러리
psutil 사용할 수 있지만를'/ proc 디렉토리/훨씬 적은있다 diskstats' 메트릭은 원시'/ proc/diskstats'보다 빠릅니다. 나는 psutil을 이미 사용하고 있기 때문에 개인적으로이 질문을 접하게된다. 그러나 슬픈 듯이 중요한 일부를 놓친다. –