Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
특정 프로세스의 메모리사용량을 알고 싶습니다.
안녕하세요.
특정 프로세스가 메모리를 많이 잡아먹어서, 일정 크기 이상이 되면 죽였다가 다시 살려놓고 싶습니다.
프로세스를 찾고 죽이는 기능은 여기저기서 많이들 설명해 주셨는데, 그 프로세스의 크기 같은 정보를
볼 수 있는 기능을 설명한게 없어서요...
작업관리자에 있는 열선택 창에 표시된 정보들 중 메모리사용 크기가 필요한 겁니다.
감사합니다.
2
COMMENTS
구창민
•
2007.07.26 03:23
안녕하세요..
아래 내용을 참고하시고 즐거운 프로그래밍 하시길~
... get info on memory usage from a given process?
Author: David
[ Print tip ]
Tip Rating (16):
//...
uses
psAPI;
//...
function GetProcessMemorySize(_sProcessName: string; var _nMemSize: Cardinal): Boolean;
var
l_nWndHandle, l_nProcID, l_nTmpHandle: HWND;
l_pPMC: PPROCESS_MEMORY_COUNTERS;
l_pPMCSize: Cardinal;
begin
l_nWndHandle := FindWindow(nil, PChar(_sProcessName));
if l_nWndHandle = 0 then
begin
Result := False;
Exit;
end;
l_pPMCSize := SizeOf(PROCESS_MEMORY_COUNTERS);
GetMem(l_pPMC, l_pPMCSize);
l_pPMC^.cb := l_pPMCSize;
GetWindowThreadProcessId(l_nWndHandle, @l_nProcID);
l_nTmpHandle := OpenProcess(PROCESS_ALL_ACCESS, False, l_nProcID);
if (GetProcessMemoryInfo(l_nTmpHandle, l_pPMC, l_pPMCSize)) then
_nMemSize := l_pPMC^.WorkingSetSize
else
_nMemSize := 0;
FreeMem(l_pPMC);
Result := True;
end;
//Beispiel
procedure TForm1.Button1Click(Sender: TObject);
var
l_nSize: Cardinal;
begin
if (GetProcessMemorySize('Unbenannt - Editor', l_nSize)) then
ShowMessage('Size: ' + IntToStr(l_nSize) + ' byte')
else
ShowMessage('Error');
end;
<출처 : http://www.swissdelphicenter.ch/torry/showcode.php?id=2276>
0
0
댓글
장창원
•
2007.07.26 19:17
답변 감사합니다.
프로세스를 찾고 정보를 구하는 방식이 굉장히 다양하다는 걸 알았습니다.
질문 올린 이후에도 계속 여기저기 찾아봤었거든요 ^^;;
다시 감사드립니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
조두현
2007.08.01 09:33
0
COMMENTS
/
0
LIKES
SQL 쿼리실행결과 바로 출력
nkh4947
•
2007.07.30 20:41
1
COMMENTS
/
0
LIKES
프로그램을 알림영역으로 옮기는 법하고 확대/축소 하는 법 질문있습니다.
구창민
•
2007.07.30 21:44
안녕하세요.. Tray 영역을 말씀하시는거 같네요.. 팁/테크 게시판으로 가셔서 'Tray' 라고 입력하시...
이철민
•
2007.07.29 00:39
2
COMMENTS
/
0
LIKES
폼에 소속되어있는 폼을 띄우고 싶습니다. (초보라 설명이.. ㅠ)
류민철
•
2007.07.30 20:19
MDI를 만들려고 하시는 것 같네요... 델파이 메뉴에서 파일을 선택하시고.. orther 에서 MDI 어플리케...
구창민
•
2007.07.30 18:40
안녕하세요.. 말씀하신 어플을 MDI 라고 부릅니다. 관련내용은 강의실에 가셔서 검색창에 'MDI' 라고...
주재환
•
2007.07.28 02:57
1
COMMENTS
/
0
LIKES
패널을 반투명하게 보여줄 수 있는 방법좀...
마이크로김
•
2007.07.30 19:38
델파이 7.0 폼 투명하게 하는 기능이 있는것 같은데요..... 아니명 paint 처리 하면 속도가..... pro...
김세령
•
2007.07.28 00:44
2
COMMENTS
/
0
LIKES
특정폴더에 해당 단어로된 파일찾기
마이크로김
•
2007.07.28 01:42
조금만 수정하면 될듯한데요 var SR &...
김세령
•
2007.07.28 01:52
.
낙화
•
2007.07.27 06:21
2
COMMENTS
/
0
LIKES
퀵레포트로 만든 레포트를 패스트레포트로....
박부태
•
2007.07.27 20:42
도움이 되실지는 모르겠지만요... 저희 회사는 Quick의 몇가지 문제때문에 Fast로의 전환을 고려했고 ...
낙화
•
2007.08.16 07:00
에휴... 감사합니다... -_- ;;
희아빠
•
2007.07.27 06:21
3
COMMENTS
/
0
LIKES
Stored Procedure 실행 오류 문제 입니다
마이크로김
•
2007.07.27 19:24
조심스럽게 commit 문 빠진거 아닌가요.
희아빠
•
2007.07.28 00:05
관심에 감사 드립니다. commit문은 있고요... 다음은 보충설명 입니다 //=========================...
마이크로김
•
2007.07.30 19:23
sql문을 2번 처리 하시지 마시고 처음 write 되는 a 서버 procedure 안에서 b...
초보자
2007.07.27 04:46
0
COMMENTS
/
0
LIKES
MPEG2파일의 Duration을 알수 있는 방법?
오상현
•
2007.07.27 02:38
2
COMMENTS
/
0
LIKES
쿼리 실행 결과 메세지를 어떻게 받아 보나요 ?
마이크로김
•
2007.07.27 19:27
이게 아닌가????? try Sql 처리 excption on E:Exception do &nbs...
오상현
•
2007.07.27 20:46
아....이 방법이 있었군요... SQL 에서만 방법을 찾았는데.... 성공 메세지는 그냥 만들어서 처리 하고 ...
Force
•
2007.07.26 19:09
1
COMMENTS
/
0
LIKES
델파이 다국어버젼 지원관련된 질문.
홍성락
•
2007.07.27 02:32
참조가 될런지는 모르겟습니다만, 기존 프로그램을 적게 수정하면서 다국어 프로그램을 위한 방법중 하나...
장창원
•
2007.07.26 01:23
2
COMMENTS
/
0
LIKES
특정 프로세스의 메모리사용량을 알고 싶습니다.
안녕하세요. 특정 프로세스가 메모리를 많이 잡아먹어서, 일정 크기 이상이 되면 죽였다가 다시 살려놓고 싶습니다. 프로세스를 찾고 죽이는 기능은 여기저기서 많이들 설명해 주셨는데, 그 프로세스의 크기 같은 정보를 볼 수 있는 기능...
구창민
•
2007.07.26 03:23
안녕하세요.. 아래 내용을 참고하시고 즐거운 프로그래밍 하시길~ ... get info on memory usage fro...
장창원
•
2007.07.26 19:17
답변 감사합니다. 프로세스를 찾고 정보를 구하는 방식이 굉장히 다양하다는 걸 알았습니다. 질문 ...
초보자
•
2007.07.25 09:06
1
COMMENTS
/
0
LIKES
응용프로그램 실행후 메뉴를 제어해서 특정파일을 실행시키는 방법?
구창민
•
2007.07.25 23:41
안녕하세요... 이곳에 Hwp 가 깔려있지 않아 테스트를 못해보는데, 커맨드라인 실행은 안되던가요? ...
jjangga
•
2007.07.25 03:16
1
COMMENTS
/
0
LIKES
ftp를 이용한 자동업데이트 소스..
구창민
•
2007.07.25 23:45
안녕하세요.. 이곳 팁 게시판에 IdFTP를 이용한 File Version 관리 라는 제목의 팁이 있네요.. 참고...
이병식
•
2007.07.24 10:34
1
COMMENTS
/
0
LIKES
dll로 만든 폼에서 bpl로 만든 폼을 호출시 값 넘기는 방법좀 알려주세요..
구창민
•
2007.07.25 23:43
안녕하세요.. 원하시는 답이 아닐지 모르겠으나, WM_COPYDATA 를 이용해 보는건 어떨까요?.. WM_COP...
초보자
2007.07.24 07:16
0
COMMENTS
/
0
LIKES
다른 응용프로그램의 메뉴를 실행하는 방법?
박정순
•
2007.07.24 05:54
2
COMMENTS
/
0
LIKES
ListBox에 있는 파일이름 정렬 문제입니다.
구창민
•
2007.07.26 00:33
안녕하세요.. 뉴스그룹의 내용을 퍼서 대충 번역해두었던 내용입니다. 보시고 참고하셔서 즐거운 프...
박정순
•
2007.07.26 06:28
아래의 코드로 문제를 해결 했습니다.^^ function MyCompareStr(List:TStringList; Index1,Index2:Integ...
김세령
2007.07.23 23:39
0
COMMENTS
/
0
LIKES
TBitmap, TImage 관련
이경호
•
2007.07.21 02:56
1
COMMENTS
/
0
LIKES
이현상은 무엇인가요? 완전 초짜...ㅡㅡ;;
구창민
•
2007.07.23 21:40
Access Violation이 발생할 수 있는 경우는 대부분이 초기화되지 않는 자원 또는 객체의 참조인데 이유없...
전문성
•
2007.07.20 19:01
2
COMMENTS
/
0
LIKES
MDI의 child에서 hotkey설정은 어떻게 해야 중복이 안되나요?
구창민
•
2007.07.23 21:53
안녕하세요.. 말씀하신 부분중, "다른 폼을 실행하면 핫키의 등록 실패 메뉴가 나옵니다" <- 이 부분...
마이크로김
•
2007.07.21 01:08
base 폼에 설정 하면 될것 같은데요!
신동훈
•
2007.07.20 18:15
1
COMMENTS
/
0
LIKES
비스타에서 한글입력모드를 한글로 처리하게했는데 되지 않네요
구창민
•
2007.07.23 22:43
안녕하세요.. 아래 주소를 참고하세요.. http://msdn2.microsoft.com/en-US/library/ms776141.aspx ...
장창원
2007/07/26 01:23
Views
1098
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
아래 내용을 참고하시고 즐거운 프로그래밍 하시길~
... get info on memory usage from a given process?
Author: David
[ Print tip ]
Tip Rating (16):
//...
uses
psAPI;
//...
function GetProcessMemorySize(_sProcessName: string; var _nMemSize: Cardinal): Boolean;
var
l_nWndHandle, l_nProcID, l_nTmpHandle: HWND;
l_pPMC: PPROCESS_MEMORY_COUNTERS;
l_pPMCSize: Cardinal;
begin
l_nWndHandle := FindWindow(nil, PChar(_sProcessName));
if l_nWndHandle = 0 then
begin
Result := False;
Exit;
end;
l_pPMCSize := SizeOf(PROCESS_MEMORY_COUNTERS);
GetMem(l_pPMC, l_pPMCSize);
l_pPMC^.cb := l_pPMCSize;
GetWindowThreadProcessId(l_nWndHandle, @l_nProcID);
l_nTmpHandle := OpenProcess(PROCESS_ALL_ACCESS, False, l_nProcID);
if (GetProcessMemoryInfo(l_nTmpHandle, l_pPMC, l_pPMCSize)) then
_nMemSize := l_pPMC^.WorkingSetSize
else
_nMemSize := 0;
FreeMem(l_pPMC);
Result := True;
end;
//Beispiel
procedure TForm1.Button1Click(Sender: TObject);
var
l_nSize: Cardinal;
begin
if (GetProcessMemorySize('Unbenannt - Editor', l_nSize)) then
ShowMessage('Size: ' + IntToStr(l_nSize) + ' byte')
else
ShowMessage('Error');
end;
<출처 : http://www.swissdelphicenter.ch/torry/showcode.php?id=2276>