【问题标题】:Code to utilize memory more than 70%使用内存超过 70% 的代码
【发布时间】:2010-10-02 04:45:30
【问题描述】:

请告诉我使用内存超过 70% 的 C++/Java 代码。

例如,我们有 3 台虚拟机,我们要在内存资源中测试
根据用户分配的内存资源使用内存。

【问题讨论】:

    标签: java c++ python c


    【解决方案1】:

    哪个内存?在 64 位平台上,一个 64 位进程可以使用远远超过 4GB。在达到这些限制之前,您将需要数小时才能完成交换。

    如果您想测试“70% 的物理 RAM”,您可能会发现您无法分配 70% 的 32 位地址空间。操作系统已经认领了一大笔钱。

    【讨论】:

      【解决方案2】:
      #include malloc.h
      #DEFINE MB 512
      void main(int argc, char **argv)
      {
          int i;
          for (i = 0; i < MB; i++)
          {
              malloc(1024* 1024);
          }
          getchar();
      }
      

      按回车键释放内存,将 MB 常量设置为您希望程序占用的内存量。

      我的 C 有点生疏,所以如果有人来这里踩我,1000 道歉,我的强项是 C#。

      【讨论】:

      • 你不需要循环。只需做一个 malloc(1024 * 1024 * MB);
      • 不,这不适用于碎片堆。循环也不会分配所有内容,但在分配 1MB 块时,您不太可能会丢失接近 30% 的碎片。
      【解决方案3】:

      我想测试内存利用率,但执行代码后我无法测试。

      因为我是新手,所以请在这方面帮助我。

      让我们有 3 个虚拟机 V1,V2,V3

      对于 V1 - 将共享资源设置为高

      对于 V2 - 将共享资源设置为 Normal

      对于 V3 - 将共享资源设置为 Normal

      所以这意味着总共是 2 GB,然后 V1 获得 1 GB,V2、V3 分别获得 512 MB。因此,我想使用编程来测试是否有人更改了共享或保留或限制,然后它是如何工作的。

      【讨论】:

        猜你喜欢
        • 2020-06-12
        • 1970-01-01
        • 2023-03-13
        • 2021-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多