进程的内存限制

时间:2016-05-26 08:49:37

标签: android linux windows memory-management

一位朋友和我创建了一个大小为30000x60000x3的.jpg,需要7MB,一旦解压缩它应该占用大约21.6GB的内存(30000x60000x3x4 = 2.16 * 10 ^ 10字节)。

我们已经在两台计算机和两部手机中进行了一些测试:

  • 笔记本电脑:Xubuntu 16.04 x64,12GB内存
  • 桌面:Windows 7 x64,6 GB RAM
  • 手机1 :Android 2.3.6,Samsung GT-S5830i
  • 电话2 :Android 5.0.2,Moto E(第2代)

我们预计打开图像时所有设备都会耗尽内存,但事情就是这样:

  • 笔记本电脑:最多需要11GB的物理内存,我们选中了ulimit -m,其中unlimited我们设置了vm.overcommit_memory = 2但仍然没有内存耗尽,它确实减慢了计算机的速度,但并没有阻止它。并且无法打开图像。

  • 桌面:当物理内存为5.7GB时,它停止占用内存。并且无法加载图像。

  • 手机1 :它没有打开,但它不会冻结也不会使手机变慢。

  • 手机2 :打开图像没有问题,速度非常快(~5秒)。

我们想知道哪些安全方法在每个操作系统中都有效,我们如何禁用它们用于测试目的以及为什么Android设备可以比其他计算机更好地处理图像。

0 个答案:

没有答案