我正在使用下载 20GB~ 文件的 monotorrent,当 monotorrent 创建文件时,内存和 CPU 达到最大值,这会减慢计算机甚至过热,所以我想通过限制写入速率来限制内存使用量。
这是我尝试过的:-
,我检查了一下,发现您可以使用以下代码限制引擎的读/写速率:-
EngineSettings engineSettings = new EngineSettings(downloadsPath, port);
engineSettings.PreferEncryption = true;
engineSettings.AllowedEncryption = EncryptionTypes.All;
engineSettings.MaxWriteRate = **maximum write rate in bytes**;
engineSettings.MaxReadRate = **maximum read rate in bytes**;
engineSettings.GlobalMaxDownloadSpeed = **max download in bytes**;
下载速率有效,但它不限制内存使用,所以我使用此代码检查运行时的写入速率值
MessageBox.Show(engine.DiskManager.WriteRate.ToString());
它返回了,所以我没有添加到0
,而是通过更改此代码添加了一个默认值:-MaxWriteRate
EngineSettings
EngineSettings.cs
MaxWriteRate
public int MaxWriteRate
{
get { return 5000; }
set { maxWriteRate = 5000; }
}
并且它并没有限制内存使用量,返回的值也为0,所以我通过更改此代码WriteRate
进入DiskManager.cs
并添加了一个默认值:-WriteRate
public int WriteRate
{
get { return 5000; }
}
现在WriteRate
值返回 5000 但它并没有限制内存使用量,然后我卡住了,没有发现任何其他要更改的内容,
有谁知道为什么它不工作?我认为这WriteRate
甚至与限制写作速度无关。