UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 33196

14.7 MAP/PAR - How can I test my memory limitations which are leading to ERROR:Portability:3 errors?

Description


Linux machines have a system limitation on the amount of memory that a single application can allocate, and a 32-bit Linux machine can theoretically allocate up to 4 Gb.

How can I test the amount of memory available to an application on my system?

I am receiving the error below:
 

ERROR:Portability:3 - This Xilinx application has run out of memory or has
encountered a memory conflict. Current memory usage is 2094816 kb. Memory
problems may require a simple increase in available system memory, or
possibly a fix to the software or a special workaround. To troubleshoot or
remedy the problem, first: Try increasing your system's RAM. Alternatively,
you may try increasing your system's virtual memory or swap space. If this
does not fix the problem, please try the following: Search the Answers
Database at support.xilinx.com to locate information on this error message.
If neither of the above resources produces an available solution, please use
Web Support to open a case with Xilinx Technical Support off of
support.xilinx.com. As it is likely that this may be an unforeseen problem,
please be prepared to submit relevant design files if necessary. "

Solution


The application size limit of a particular system can be tested by compiling and running the following source file "memlimit.c", which will allocate memory until the limit is reached.


#include <stdio.h>
#include <stdlib.h>

int main()
{
int i;
for(i=0;malloc(1024*1024);i++);
printf("Application memory limit is %d Mb\n",i);
}


To compile as a 32-bit executable:
gcc -m32 memlimit.c 
mv a.out memlimit

To run the executable:
host1 [417] ./memlimit

The application memory limit is 4076 M.
AR# 33196
Date Created 07/23/2009
Last Updated 01/07/2015
Status Active
Type General Article
Devices
  • FPGA Device Families
Tools
  • ISE Design Suite