Delphi Indy会导致高页故障和RAM使用



我遇到一个奇怪的问题。

我使用Delphi和Indy上传和备份某些文件。它在许多计算机(Win7 64bit,winxp)上运行良好。CPU使用率少于1%,最大。Ram中的20MB。

但是有一台计算机(Win 2008 R2)有问题,我找不到原因。CPU使用率为5-20%,RAM需要100MB ,并且增加了很多。进一步的"页面故障"上升了很多,例如。每秒100 000(我的计算机上不增加)

代码非常简单

var
  IdHTTP: TIdHTTP;
  IdPostData: TIdMultiPartFormDataStream;
  sResponse: string;
begin
  IdHTTP := TIdHTTP.Create(nil);
  IdPostData:=TIdMultiPartFormDataStream.Create;
  try
    IdPostData.AddFile('file', 'C:data.dat', '');
    sResponse:=IdHTTP.Post('http://web.com', IdPostData);
    ShowMessage(sResponse);
  finally
    IdHTTP.Free;
    IdPostData.Free;
  end;
end;

有人知道为什么"页面故障"会增加很多?是否有一些硬件问题?如何找到它?

只是放置" idhttp:= nil; idpostdata:= nil; sresponse:='ok';';"之前,然后再尝试

- 审核 - 一点点更改您的代码

procedure SendFile;
var
  IdHTTP: TIdHTTP;
  IdPostData: TIdMultiPartFormDataStream;
  sResponse: string;
begin
  sResponse := 'OK';
  IdHTTP := TIdHTTP.Create(nil);
  IdPostData:=TIdMultiPartFormDataStream.Create;
  try
    IdPostData.AddFile('C:data.dat', 'data.dat', '');
    IdHTTP.Post('http://www.yahoo.com', IdPostData);
    ShowMessage(sResponse);
  finally
    IdHTTP.Free;
    IdPostData.Free;
  end;
end;

最新更新