我在三星SoC s3c6410 (ARM11)上有linux板。我使用buildroot构建rootfs : Python 2.7.1,uClibc-0.9.31。Linux内核: Linux buildroot 2.6.28.6 #177 Mon Oct 3 12:50:57 EEST 2011 armv6l GNU/Linux
我的应用程序是用python编写的,在一些神秘的情况下会引发以下异常:
1)异常:
File "./dfbUtils.py", line 3209, in setItemData
ValueError: (4, 'Interrupted s
我正在尝试查找在C++中的堆栈、全局和堆内存上可以分配的最大内存。我在一个32 GB内存的Linux系统和2 GB RAM的Mac上试用这个程序。
/* test to determine the maximum memory that could be allocated for static, heap and stack memory */
#include <iostream>
using namespace std;
//static/global
long double a[200000000];
int main()
{
//stack
long double
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
try {
Thread.sleep(10000);
} catch(InterruptedException e) {
/* ignored */
}
}
}
下面是我运行这个小程序时top所说的话:
PID USER PR NI
在我的pi启动后没有空闲内存,但我找不到,我们使用它:
pi@node1 ~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 2.00
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0x
为了在限制条件下测试软件,我尝试创建一个测试用例,其中提供的用户缓冲区被分配到一些非常低的内存地址上。非常接近NULL的东西,比如0x1000h。
事实证明,这是一个很难创造的条件。实际上,我无法在Linux、BSD、Windows或OS上使用malloc()生成这一结果。我确信这种情况可以发生在其他类型的设备上,但我需要一个可复制的测试用例,可以插入到CI测试套件中。
是否有任何具有中等复杂度(和依赖性)的已知方法来生成这样的条件?
编辑:选择解决方案,使用mmap()。注意,,首先需要降低最低地址限制,在/proc/sys/vm/mmap_min_addr上(在Linux上)是可读的。
s