I have a skill program which is operating on a layout database.Its working fine almost all the time. But sometime the task is running out of memory and get exit. Can I know how to get this low memory information before it end the skill program by its own. Such that I can do some undo(not exactly in layout) operations before it end the program...
You might be able to use memoryAllocated() - but not sure how useful that would be. That wouldn't tell you if you have memory allocated but garbage collection hasn't kicked in (although generally SKILL garbage collection would be attempted before it tries to allocate more memory so that it can reuse existing memory).
Also you might want to make sure you're running in 64 bit mode (in IC5141 only the "layout" executable is available in 64 bit mode; from IC614 onwards, the whole of virtuoso is available in 64 bit mode). So do "layout -64" or "virtuoso -64" (or set CDS_AUTO_64BIT; more in the documentation).
Thanks for your reply....
But I can not always run icfb on 64 bit. Because there are some design(average in size) can come clean in 32bit mode.... below are the warning messages because of less memory.... Is there anyway i can read this warnign from my skill program
\# Low Memory: Less than 183 megabytes of memory remain available to this program (4% of a maximum of 3769 megabytes).\# Low Memory: No further low memory warnings will be output.\w *WARNING* (DB-270000): dbReplaceProp: A memory allocation for 134217728 bytes failed.\w The process heap is 1009MB, and OpenAccess is using 2715MB.\w The available system memory is 106416MB, and physical system memory is 193424MB.
Other than parsing the log file, I think you'd need to contact customer support to ask for a SKILL API to access this information.