Windows XP에서 실행되는 Python에서 컴퓨터의 전체 메모리 사용량을 어떻게 확인할 수 있습니까?Python을 사용하여 Windows에서 컴퓨터의 메모리 사용량을 가져옵니다.
답변
wmi 모듈을 사용하려고합니다. 이 같은 것을 :
import wmi
comp = wmi.WMI()
for i in comp.Win32_ComputerSystem():
print i.TotalPhysicalMemory, "bytes of physical memory"
for os in comp.Win32_OperatingSystem():
print os.FreePhysicalMemory, "bytes of available memory"
WMI에서 성능 카운터를 쿼리 할 수 있습니다. 비슷한 일을했지만 디스크 공간을 대신 사용했습니다.
매우 유용한 링크는 Python WMI Tutorial by Tim Golden입니다.
또한 단지 바로 파이썬에서 GlobalMemoryStatusEx() (또는 다른 KERNEL32 나 USER32 수출)를 호출 할 수 있습니다
반드시이 경우 WMI 유용하지만, 확실히에있는 멋진 트릭import ctypes
class MEMORYSTATUSEX(ctypes.Structure):
_fields_ = [
("dwLength", ctypes.c_ulong),
("dwMemoryLoad", ctypes.c_ulong),
("ullTotalPhys", ctypes.c_ulonglong),
("ullAvailPhys", ctypes.c_ulonglong),
("ullTotalPageFile", ctypes.c_ulonglong),
("ullAvailPageFile", ctypes.c_ulonglong),
("ullTotalVirtual", ctypes.c_ulonglong),
("ullAvailVirtual", ctypes.c_ulonglong),
("sullAvailExtendedVirtual", ctypes.c_ulonglong),
]
def __init__(self):
# have to initialize this to the size of MEMORYSTATUSEX
self.dwLength = ctypes.sizeof(self)
super(MEMORYSTATUSEX, self).__init__()
stat = MEMORYSTATUSEX()
ctypes.windll.kernel32.GlobalMemoryStatusEx(ctypes.byref(stat))
print("MemoryLoad: %d%%" % (stat.dwMemoryLoad))
하지 않음 뒷주머니.
이건 정말 끝내 주었는데, Windows에서이 일을 할 수 있을지 전혀 몰랐습니다. – Anders
그게 __init__의 반환입니까? 왜 그걸 할거야? – Arafangion
dwLength가 이전에 초기화되었고 다른 _fields_는 초기화 될 필요가 없으므로 super 호출을 생략 할 수 있습니다. – phobie
- 1. Windows에서 C++로 메모리 사용량을 얻는 방법
- 2. Linux 및 Windows에서 응용 프로그램 메모리 사용량을 비교하는 방법은 무엇입니까?
- 3. 웹 브라우저에서 컴퓨터의 총 RAM 사용량을 확인하십시오.
- 4. Python을 사용하여 Windows에서 마우스 클릭 감지
- 5. Python을 사용하여 Windows에서 "보내기"를 변경하십시오.
- 6. Windows에서 메모리 사용을 최소화하는 방법
- 7. 그래픽 카드 메모리 사용량을 알려주는 방법은 무엇입니까?
- 8. CPU/메모리 사용량을 얻기위한 교차 플랫폼 방식
- 9. Windows에서 컴퓨터의 도킹 해제 방지
- 10. 어떻게 처리해야합니까? Python을 사용하여 메모리 부족을 처리하십시오.
- 11. 메모리 사용량을 사용 가능한 양 이내로 유지
- 12. Java 프로파일 러에서 최대 메모리 사용량을 추적하십시오.
- 13. 많은 NSString을 사용하여 메모리 사용량을 줄이거 나 NSString을 어떻게 릴리스합니까?
- 14. Google의 tcmalloc을 사용하여 스레드 메모리 사용량을 얻을 수 있습니까?
- 15. 동적으로 CPU 및 메모리 사용량을 캡처하십시오.
- 16. numpy 배열을 점진적으로 구축하고 메모리 사용량을 측정합니다.
- 17. 모든 잘못된 메모리 사용량을 잡아 먹었습니까?
- 18. Rails 앱에서 메모리 사용량을 얻는 방법?
- 19. Visual Studio 2010 - 메모리 사용량을 줄이는 방법
- 20. 블랙 베리의 전체 메모리 사용량을 받으십시오
- 21. mysql에서 메모리 사용량을 파악하는 방법은 무엇입니까?
- 22. 디버깅 중에 가상 메모리 사용량을 시각적으로 확인하십시오.
- 23. 특정 페이지의 브라우저 메모리 사용량을 확인하려면 어떻게합니까?
- 24. 페이지가 메모리 사용량을 80MB로 폭발시킨 다음 죽습니다.
- 25. JVM의 최대 메모리 사용량을 설정하는 방법은 무엇입니까?
- 26. 플래시에서 CPU 사용량과 CPU 메모리 사용량을 얻으시겠습니까?
- 27. Windows에서 모든 외부 함수를 사용하여 Python을 컴파일하는 방법은 무엇입니까?
- 28. Windows에서 python을 사용하여 마운트 이름과 드라이브 문자를 얻을 수있는 방법
- 29. Python을 사용하여 Windows에서 프로그래밍 방식으로 DNS 서버를 변경하는 방법은 무엇입니까?
- 30. 메모리 사용량 - 예상대로 메모리 사용량을 감소하지 않았다 뜨는 이중 변환
죄송합니다. 총 물리적 메모리를 가져옵니다 (분명히). 사용 가능한/사용 가능한 메모리를 확보하기위한 WMI 명령을 찾을 때까지 올바른 방향으로 단계를 진행하므로 열어 두겠습니다. –
+1. 올바른 데이터를 가져 오려면 이것을 변경하는 것이 간단합니다. – Skurmedel
@NigelHeffernan 기존 답변은 이미 Win32_OperatingSystem을 사용하여 FreePhysicalMemory에 액세스합니다. –