- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- RLIMIT_AS vs. VSS
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2011 10:09 AM
10-12-2011 10:09 AM
RLIMIT_AS vs. VSS
Hi,
We use a 64 bit COTS product on HP-UX 11.31. On occasion, we have found bugs where the vendor's code gets stuck in a loop mmap()'ing memory. Since this is 64 bit, a single process can easily exhaust virtual memory on the server. Because the problem was with mmap()'ed memory, the regular process limits in the kernel (maxssiz_64bit, maxdsiz_64bit and maxtsiz_64bit) do not apply.
In order to limit the problem process, I built a shared library that calls setrlimit(). The shared lib is loaded via LD_PRELOAD and sets RLIMIT_AS. RLIMIT_AS was the only limit I found which could limit mmap()'ed memory.
I have discovered that the RLIMIT_AS set via setrlimit() can be hit, even though the "Total VSS" as reported by glance is substantially lower. For example, I picked 3GB as my RLIMIT_AS. But a VSS of close to 1GB can cause the process to run into my limit and crash.
I am looking for an explanation of how the RLIMIT_AS limit is implemented and how to reconcile the difference between that limit and what glance reports as VSS. I think they should be the same, but that is not the case.
Thanks,
Jim Gallagher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2011 10:56 AM
10-12-2011 10:56 AM
Re: RLIMIT_AS vs. VSS
>I have discovered that the RLIMIT_AS set via setrlimit() can be hit, even though the "Total VSS" as reported by glance is substantially lower.
Perhaps RLIMIT_AS also includes mmaps for shared files or text?
If shared, you or glance would think there is 0 cost.
You can write a program to sum up the VM usage of your process by calling pstat_getprocvm(2).