09-18-2014
Quote:
Originally Posted by
achenle
In your case, I suspect the C++ core is probably mmap() anonymous memory, requesting large pages, and using them for video processing buffers. And, unfortunately, then releasing them, allowing the page cache to fragment the large pages. Eventually you get to the point where there are no large pages available because of fragmentation.
Would turning off hugepages somehow be a solution? It could be just one bit in a binary's code segment somewhere... There'd be a performance hit from using small pages but less than the hit of not getting the memory you need at all...
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
Hello:
Environment is: Oracle 817 on IBM RS/6000 AIX 433
I have 4GB RAM on the box and Page/Swap is about the same.
Presently I am using close to 1GB of RAM towards 5 instances of ORACLE production environments.
How can I know, how much of memory/RAM is used for :
Oracle Processes , I... (2 Replies)
Discussion started by: ST2000
2 Replies
2. UNIX for Dummies Questions & Answers
Hi,
Please let me know more details on fragmentation in redhat linux and command to check fragmented files?
Thanks,
Bache Gowda (2 Replies)
Discussion started by: bache_gowda
2 Replies
3. Shell Programming and Scripting
HI All,
I need a script to reboot a linux box from a windows box.
The script needs to run automatically whenever a sitescope alerts with an error message.
Have searched for this in the forums, but could not get something relative.
Pls. let me know the various alternatives we have to do... (2 Replies)
Discussion started by: Crazy_murli
2 Replies
4. HP-UX
hi,
if I do top, I get
Memory: 19277012K (5868296K) real, 33860312K (11294208K) virtual, 795392K free
If I do swapinfo -tm I get:
% swapinfo -tm
Mb Mb Mb PCT
TYPE AVAIL USED FREE USED
dev 16384 0 16383 0%
dev ... (3 Replies)
Discussion started by: JamesByars
3 Replies
5. Linux
Hi
I'be recently installed Virtouzzo on Centos 5 on 16GB box , but the system could only see 4 GB of RAM, I installed the package kernel-PAE, but the virtuozzo kernel still can't see the full memory.
even the kernel system can see 16GB of RAM
is there any idea bout that ?
Thanks (2 Replies)
Discussion started by: Raied
2 Replies
6. Solaris
I have certain questions.
1) How can i see the memory of the unix box.
2) How can i see the size of the database on the box
3)can anyone suggest an article or tutorial that explains the concept of
file systems and mount point in UNIX.
4)How can i see the dblink on the server
I... (5 Replies)
Discussion started by: asalman.qazi
5 Replies
7. Solaris
my system has 128G of installed memory. top, vmstat shows the system has just over 10G of free memory on the system. but as per prstat o/p the usage is just 50-55G is there anyway i can find which process/zone is using more memory ?
System has 3 zones and all running application servers.
... (1 Reply)
Discussion started by: fugitive
1 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I've been able to mount my linux box to a windows machine, but I can't seem to mount my linux box to another linux box I have. (I know I could scp, but for other reasons I need to do it this way) Samba is installed.
Here is an example where I mount to a Win machine.--> works fine
mount... (12 Replies)
Discussion started by: jdilts
12 Replies
9. Red Hat
Hi
I have a linux box and need to access from windows graphically
# uname -a
Linux pc-l416116 2.6.18-155.el5 #1 SMP Fri Jun 19 17:06:47 EDT 2009 i686 i686 i386 GNU/Linux
What components do I need to install on Linux and windows to do that?
TIA (6 Replies)
Discussion started by: magnus29
6 Replies
10. How to Post in the The UNIX and Linux Forums
Hello my dear friends,
Two file are auto generated from mon - fri at different directories on same windows box.Every day i have to copy the file, rename it (specific name)and ftp it to linux box specified directory.
is it possible to automate this process,If yes this has to be done from windows... (1 Reply)
Discussion started by: umesh yadav
1 Replies
LEARN ABOUT SUSE
alloc_hugepages
ALLOC_HUGEPAGES(2) Linux Programmer's Manual ALLOC_HUGEPAGES(2)
NAME
alloc_hugepages, free_hugepages - allocate or free huge pages
SYNOPSIS
void *alloc_hugepages(int key, void *addr, size_t len,
int prot, int flag);
int free_hugepages(void *addr);
DESCRIPTION
The system calls alloc_hugepages() and free_hugepages() were introduced in Linux 2.5.36 and removed again in 2.5.54. They existed only on
i386 and ia64 (when built with CONFIG_HUGETLB_PAGE). In Linux 2.4.20 the syscall numbers exist, but the calls fail with the error ENOSYS.
On i386 the memory management hardware knows about ordinary pages (4 KiB) and huge pages (2 or 4 MiB). Similarly ia64 knows about huge
pages of several sizes. These system calls serve to map huge pages into the process's memory or to free them again. Huge pages are locked
into memory, and are not swapped.
The key argument is an identifier. When zero the pages are private, and not inherited by children. When positive the pages are shared
with other applications using the same key, and inherited by child processes.
The addr argument of free_hugepages() tells which page is being freed: it was the return value of a call to alloc_hugepages(). (The memory
is first actually freed when all users have released it.) The addr argument of alloc_hugepages() is a hint, that the kernel may or may not
follow. Addresses must be properly aligned.
The len argument is the length of the required segment. It must be a multiple of the huge page size.
The prot argument specifies the memory protection of the segment. It is one of PROT_READ, PROT_WRITE, PROT_EXEC.
The flag argument is ignored, unless key is positive. In that case, if flag is IPC_CREAT, then a new huge page segment is created when
none with the given key existed. If this flag is not set, then ENOENT is returned when no segment with the given key exists.
RETURN VALUE
On success, alloc_hugepages() returns the allocated virtual address, and free_hugepages() returns zero. On error, -1 is returned, and
errno is set appropriately.
ERRORS
ENOSYS The system call is not supported on this kernel.
FILES
/proc/sys/vm/nr_hugepages Number of configured hugetlb pages. This can be read and written.
/proc/meminfo Gives info on the number of configured hugetlb pages and on their size in the three variables HugePages_Total,
HugePages_Free, Hugepagesize.
CONFORMING TO
These calls are specific to Linux on Intel processors, and should not be used in programs intended to be portable.
NOTES
These system calls are gone; they existed only in Linux 2.5.36 through to 2.5.54. Now the hugetlbfs file system can be used instead. Mem-
ory backed by huge pages (if the CPU supports them) is obtained by using mmap(2) to map files in this virtual file system.
The maximal number of huge pages can be specified using the hugepages= boot parameter.
COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2007-05-31 ALLOC_HUGEPAGES(2)