Sponsored Content
Top Forums Programming How to decrease virtual size of a process after cleaning all containers and using malloc_trim (0)? Post 302938069 by achenle on Wednesday 11th of March 2015 04:12:17 PM
Old 03-11-2015
Quote:
Originally Posted by umen
...

how do i decrease virtual size of a process in c++/c ?
thanks
You basically need to explicitly control all memory allocation, using library calls like mmap() and munmap().

As you've found, malloc_trim() doesn't really work, because any one malloc()'d bit of memory in the wrong location in the heap will wind up pinning the entire heap anyway. That's because of the way the brk()/sbrk() calls underlying malloc()/free() work in managing the heap - the standard implementation heap of memory using brk()/sbrk() has to be a single contiguous chunk of memory that has a fixed starting point. If there is any memory in use that's deep into the allocated heap space, all the memory up to and including that in use memory can't be returned to the OS.

If this is for work, instead of spending time and money trying to solve this problem by writing what will probably be a lot of buggy code that doesn't really solve anything, just buy more RAM for you server.
 

10 More Discussions You Might Find Interesting

1. Programming

Will exe file size decrease while using inline function

using namespace std; void g(); class A { public : A() { g();g();g(); cout << "Constructor of A"<< endl ;} }; inline void g(){ cout << "vijay" <<endl; } int main() { A a; } when i use inline i get size 303488 Aug 31 12:05 a.out* when not using inline i get size 303572 Aug 31... (1 Reply)
Discussion started by: vijaysabari
1 Replies

2. UNIX for Dummies Questions & Answers

how can i get The total size of the process in virtual memory om GB or MB

Hello all im using the ps -ef "args vsz" | some.exe but the result is in kb , is there some kind of way or flag ( didnt found in the ps man ) to convert me this data to GB or MG in human readable format ? Thanks (1 Reply)
Discussion started by: umen
1 Replies

3. UNIX for Dummies Questions & Answers

how to Decrease priority of a particular process in time of process creation

how to decrease priority of a particular process in time of process creation... and also how to decrease priority of a particular process after process creation.. can any one please help me out... (2 Replies)
Discussion started by: Ramkum
2 Replies

4. Shell Programming and Scripting

How to decrease the font size in Mailx

Hi all, I am using echo "$EMAILMESSAGE" | mailx -s "$SUBJECT" -b $CC "$TO" I am receiving the mail but seems to big in font size. Is there any option mailx to decrease the size of the mail generated. Thanks, (1 Reply)
Discussion started by: shellscripter
1 Replies

5. Programming

Find Virtual address space size for process

Hi, I am looking to work on unix systems which include (hp-ux, ibm aix, solaris and linux). I want to get the total virtual address space of a process, the used virtual memory i am able to get without any problem. I have tried using getrlimit and getrlimit64, but that gives only ... (4 Replies)
Discussion started by: uiqbal
4 Replies

6. UNIX for Advanced & Expert Users

Process self-exec and virtual memory size

Hello all, To do a self-exec or self-restart of a process when it crosses the threshold memory limit, I use the value of virtual memory size field from /proc/$pid/stat file and do a self-exec. According to man 5 proc vsize %lu Virtual memory size in bytes. I just want to... (2 Replies)
Discussion started by: matrixmadhan
2 Replies

7. AIX

Why using "%" of Paging size increases & how to decrease this percentage?

Hi I have found a problem on my AIX 5.1 server. day by day the paging size is increasing,what is the reason behind it and if percentage is at 100 what will happen. Oracle 9i is running on my server. PAGING SPACE size,mb 5632 % used 14.6 % free 85.3 How can i decrease the using... (6 Replies)
Discussion started by: dearsumon
6 Replies

8. Fedora

How to increase/Decrease Local Virtual consoles?

I m tring to figure out the option where i can increase/Decrease the count for local virtual consoles(vtys). I can able to take upto 6 vtys using (left alt+(F1-F6)) But is there any way i can increase the count ? One more query even though i can only take tty upto tty6 why there are tty... (2 Replies)
Discussion started by: pinga123
2 Replies

9. UNIX for Dummies Questions & Answers

Decrease buffer size

Hi, I am using the below command to get the output in a file called "Logs.txt" tail -f filename | egrep -i "cpu | hung " >> Logs.txt The problem is the Logs.txt file gets updated only after the buffer is 8Kb, but i want to update the file immediately and not wait for the buffer to get 8kb. Is... (8 Replies)
Discussion started by: @bhi
8 Replies

10. AIX

[ASK] decrease/shrink the size of filesystem

Hello, I would like to reduce the size of filesystem online. We can do online for increase without any problem. So any risk can be occurred with the decrease? This is not an issue, just a discussion for decrease/shrink space with chfs command. My AIX system is version 6.1 and the filesystem... (2 Replies)
Discussion started by: Phat
2 Replies
MALLOC_TRIM(3)						     Linux Programmer's Manual						    MALLOC_TRIM(3)

NAME
malloc_trim - release free memory from the top of the heap SYNOPSIS
#include <malloc.h> int malloc_trim(size_t pad); DESCRIPTION
The malloc_trim() function attempts to release free memory at the top of the heap (by calling sbrk(2) with a suitable argument). The pad argument specifies the amount of free space to leave untrimmed at the top of the heap. If this argument is 0, only the minimum amount of memory is maintained at the top of the heap (i.e., one page or less). A nonzero argument can be used to maintain some trailing space at the top of the heap in order to allow future allocations to be made without having to extend the heap with sbrk(2). RETURN VALUE
The malloc_trim() function returns 1 if memory was actually released back to the system, or 0 if it was not possible to release any memory. ERRORS
No errors are defined. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +--------------+---------------+---------+ |Interface | Attribute | Value | +--------------+---------------+---------+ |malloc_trim() | Thread safety | MT-Safe | +--------------+---------------+---------+ CONFORMING TO
This function is a GNU extension. NOTES
This function is automatically called by free(3) in certain circumstances; see the discussion of M_TOP_PAD and M_TRIM_THRESHOLD in mal- lopt(3). This function cannot release free memory located at places other than the top of the heap. This function releases only memory in the main arena. SEE ALSO
sbrk(2), malloc(3), mallopt(3) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 MALLOC_TRIM(3)
All times are GMT -4. The time now is 10:43 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy