런타임에 프로세스의 리소스 사용 (시간, 메모리, 시스템 호출)을 모니터하려고하는데, ptrace, Linux의 setrlimit 같은 Windows에 api가 있습니까? 감사합니다.런타임에 프로세스의 리소스 사용 (시간, 메모리)을 모니터링하는 방법은 무엇입니까?
답변
는 C/C에서 원하는 내용에 따라 API를 ++의 무리 (또는 P를 통해 C#/호출)가있다 : http://msdn.microsoft.com/en-us/library/ms683223(VS.85).aspx
프로세스 VM (작업 집합) : http://msdn.microsoft.com/en-us/library/ms683226(v=VS.85).aspx
프로세스의 I/O 데이터 : http://msdn.microsoft.com/en-us/library/ms683218(v=VS.85).aspx
다음을 시도해 볼 수 있습니다.
몇 가지 방법이 있습니다. 우선, 프로세스를 낮은 무결성 프로세스로 실행하고자 할 것입니다. 이것은 Internet Explorer의 실행 방법과 유사합니다. 이러한 프로세스는 다른 프로세스, 레지스트리 및 파일 시스템과 분리됩니다 (선택한 낮은 무결성 디렉토리 제외).
둘째, 실행 파일을 제어 할 수 있습니다. 사용할 수있는 DLL과 함수를 허용 목록에 추가해야합니다. 블랙리스트에는 CreateProcess
의 변종이 너무 많이 존재합니다. 위험한 기능을 제거하기 위해 CRT를 다시 제작해야 할 수도 있습니다.
샌드 박스 C# 코드는 다소 쉽습니다. 분명히 안전 코드로 제한해야합니다. PEVerify 도울 수 있습니다.
이러한 종류의 분석에는 ProcMon, Process Explorer, ProcessMonitor 및 성능 모니터와 같은 시스템 도구를 사용할 수 있습니다. 시스템 콜을 추적하는 것은 실제로 힘든 일이며, 응용 프로그램이 수백 건의 시스템 호출을 할 것입니다. 이러한 유형의 딥 프로파일 링을 위해 Inter VTune Analyzer와 같은 도구를 사용해야한다고 생각합니다.
예를 들어, 찾고
프로세스의 CPU 시간을 시작합니다 (UM/KM) :
- 1. 서브 프로세스의 stderr과 stdout을 모니터링하는 파이썬
- 2. 세션 시간 초과를 감지하는 요청의 결과를 모니터링하는 간단한 방법은 무엇입니까?
- 3. 표준 시간 사용 방법은 무엇입니까?
- 4. 화면 업데이트를 모니터링하는 방법은 무엇입니까?
- 5. 데이터베이스 트랜잭션을 모니터링하는 방법은 무엇입니까?
- 6. 런타임에 포함 된 리소스 파일에 이미지를 추가하는 방법은 무엇입니까?
- 7. 자식 프로세스의 메모리 사용?
- 8. 응용 프로그램이 사용 된 횟수를 모니터링하는 방법은 무엇입니까?
- 9. Linux UDP 버퍼 사용 가능한 공간을 모니터링하는 방법은 무엇입니까?
- 10. 런타임에 .NET 어셈블리 리소스 열거
- 11. 런타임에 리소스 문자열을 어떻게 채우겠습니까?
- 12. 리소스 준비 및로드 시간
- 13. 자바 프로세스를 모니터링하는 빠르고 안정적인 방법은 무엇입니까?
- 14. 다른 프로세스의 리소스에서 문자열을로드하는 방법은 무엇입니까?
- 15. 보낸 SMS 상태를 모니터링하는 방법은 무엇입니까?
- 16. 레지스트리 액세스를 모니터링하는 방법은 무엇입니까? [C#]
- 17. InputStream을 모니터링하는 가장 좋은 방법은 무엇입니까?
- 18. Windows에서 사용자 (인) 활동을 모니터링하는 방법은 무엇입니까?
- 19. ffmpeg에서 진행 상황을 모니터링하는 방법은 무엇입니까?
- 20. Delphi XE에서 파일 디렉토리를 모니터링하는 방법은 무엇입니까?
- 21. Windows에서 프로세스/프로그램 실행을 모니터링하는 방법은 무엇입니까?
- 22. Tomcat에서 웹 서비스를 실시간으로 모니터링하는 방법은 무엇입니까?
- 23. 프로세스를 생성하고 모니터링하는 가장 좋은 방법은 무엇입니까?
- 24. MySQL을 사용하여 네트워크 트래픽을 모니터링하는 방법은 무엇입니까?
- 25. .NET에서 나가는 HTTP 연결을 모니터링하는 방법은 무엇입니까?
- 26. Python에서 디렉토리의 변경 사항을 모니터링하는 방법은 무엇입니까?
- 27. 시스템 전체에서 사용자 활동을 모니터링하는 방법은 무엇입니까?
- 28. 수많은 Ruby 프로세스를 모니터링하는 가장 좋은 방법은 무엇입니까?
- 29. 런타임에 Viewcontroller를 숨기는 방법은 무엇입니까?
- 30. 런타임에 컨트롤을 만드는 방법은 무엇입니까?
컴파일 타임에 리소스 사용을 모니터링 할 수 있습니까? : P 당신이 찾고있는 것은 profilers라고 불리는 도구입니다. 웹에서 C++/C# 프로파일 러를 검색하십시오. –
제안 해 주셔서 감사합니다. 간단한 온라인 판사를 창문에 작성하려고합니다. 사용자 코드를 컴파일하고 제한된 시간과 메모리 (예 : https://www.spoj.pl)로 프로그램을 실행할 수 있습니다. 따라서 몇 가지 제안 사항이 필요합니다. 어떤 win 아피를 사용해야합니까? – shiwei
필요한 것을 더 설명하십시오. 프로세스가 사용할 수있는 메모리의 양과 CPU 시간의 양에 대한 제한을 두는 것처럼 들립니다. 그래? 다양한 측정 항목이 있기 때문에 메모리로 무엇을 의미하는지 정의하십시오. –