Delphi + Indy导致高页面错误和RAM使用

时间:2014-02-05 17:54:53

标签: delphi indy page-fault

我遇到了一个奇怪的问题。

我使用Delphi和Indy上传和备份一些文件。 它在许多计算机上运行得很好(Win7 64bit,WinXP)。 CPU使用率低于1%和最大值。内存为20MB。

但是有一台计算机(Win 2008 R2)存在问题,我无法找到原因。 CPU使用率为5-20%,内存需要100MB +,并且增加了很多。 此外,“页面错误”上升很多,例如。每秒10万(不会增加我的电脑)

代码很简单

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;

有没有人知道为什么“页面错误”增加了很多? 是否有可能存在硬件问题?如何找到它?

1 个答案:

答案 0 :(得分:1)

刚刚把#34; IdHttp:= nil; IdPostData:=零; sResponse:=' Ok&#39 ;; "之前"尝试"条款,然后再试一次

- 已审核 - 稍微更改了您的代码

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;