|
|
1
5
它是 高达 8 TB,而不是8 TB。您可能有多达8 TB的容量,但您需要匹配的RAM/swapfile。 |
|
|
2
8
这是你的机器。 我有一个带有8GB内存和12GB页面文件的X64,我运行了您的程序,它的最大容量是16.23GB。 尾声 :然后我的Win7安装逐渐陷入昏迷,因为关键进程显然内存不足。 编辑 :如果要了解Windows如何分配(即保留和提交)内存,请阅读以下内容: http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx 而这: http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx 由于.NET依赖于Windows来管理用于构建GC堆的内存,因此Windows如何做到这一点的机制反映在.NET中如何在较低的级别上分配内存。 |
|
|
3
1
我猜是因为你使用的是一个列表,我认为它有一个内部限制。 如果你尝试创建自己的旧学校列表,看看能得到什么:
我以前写过几乎完全相同的代码(只有我的项目是一个int),并在一台有32个处理器和128GB内存的机器上运行它,它总是以相同的大小出现,不管是什么,它总是与int32.maxvalue相关的,希望能有所帮助。 |
|
|
4
1
尝试分配一个块(与1MB块列表相反):
编辑 -鉴于您的评论,您只有4GB的物理内存,您实际上没有业务分配>~8GB,甚至这也在推动它的发展。 编辑 -
您可以分配的最大RAM数量可能等于(页面文件大小-RAM中所有内容的大小 除了 不能或不会被分页的内容)+(物理RAM大小-不能或不会被分页的内容的大小,即保持系统运行所需的内容…内核,驱动程序,.net内容等…) 当然,页面文件可以增长… 迟早,从磁盘到磁盘的分页会变得非常频繁,而您的系统会变得缓慢,无法使用。 阅读Mark Russinovich的博客: |
|
|
CalculusLover · 在本例中,fork()是如何工作的? 4 年前 |
|
|
jjmerelo · 使用Proc::Async从绑定管道读取 7 年前 |
|
|
jatinBatra · 编译后生成的二进制文件会发生什么情况[关闭] 8 年前 |
|
|
Jacobo · 从Java调用具有输入和输出重定向的C可执行文件 8 年前 |
|
|
Ran · 每当我尝试执行命令行提示符时,Unity就会阻塞 8 年前 |
|
|
Hatshepsut · 使用命令行参数使用region调用子流程 8 年前 |