如何在.NET中获取内存中可用的空闲字节数?
另外,您能想到new Random().Next()
,DateTime.Now.Ticks
或可用系统内存旁边可能更好的随机数吗?
答案 0 :(得分:2)
这可能会更好地解决2个问题......
重新new Random().Next()
- 这显然会在紧密的循环中死亡,因此现有的 random.Next()
会更随机;-p但你也许想要加密随机 - 如:
var random = new RNGCryptoServiceProvider();
byte[] bytes = new byte[4];
random.GetBytes(bytes);
int i = BitConverter.ToInt32(bytes, 0);
请注意,这会使测试变得更难,因为它不能播种等......
答案 1 :(得分:1)
为什么在这里有一个非常好的轮子时重新发明轮子:Random.org?
RANDOM.ORG提供真正的随机数 互联网上的任何人。该 随机性来自大气 噪音,用于许多目的 优于伪随机数 通常用于计算机的算法 程式。人们使用RANDOM.ORG 拿着图纸,彩票和 抽奖,驾驶游戏和 赌博场所,用于科学研究 应用程序以及艺术和音乐。
免责声明:我不以任何方式加入本网站,也不保证他们提供的产品质量。我个人认为这是一个非常酷的主意。
答案 2 :(得分:0)
关于内存指标的问题,请查看使用性能计数器。
using System.Diagnostics;
...
PerformanceCounter counter = new PerformanceCounter("Memory", "Available Bytes");
long freeBytes = counter.RawValue;
您可能最终需要使用其他计数器,例如“Memory \ Free& Zero Page List Bytes”,以获得您想要的效果。我建议在perfmon中尝试性能计数器。