Do you know where the source code for those portions can be found? I've looked through the Enigma 2 source and it's pretty much all Python - as expected. Where is the source code for the core C++ elements?
I'm interested in seeing what it's doing.
Because I don't think the Python code would fragment physical memory like that unless you were swapping, which I don't think you are. What I strongly suspect is happening is akin to the Oracle/ZFS ARC wars on Solairs I described earlier in this thread where Oracle would request large pages, release them, the ZFS ARC would fragment the pages...
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.
Unfortunately, Linux now doesn't provide any way to limit page cache size, so all you can do is try to limit its growth by either not using it (preferred since you know your IO pattern), or through kernel parameter tuning.
You can try upping the value of vm.vfs_cache_pressure and see if that helps your issues.
Or you can figure out how to do the video processing with direct IO. Even if you take a few milliseconds or even tenths of a second hit in performance when searching or stepping through a video, that won't matter much because the person doing the searching or stepping likely won't notice that. They do notice the dropped frames from memory fragmentation, though.
In your opening post you said you would drop cache and improve performance. Don't try to keep it around now.
You can use an LD_PRELOAD library to intercept all open() calls and turn on direct IO for, say, *.mpg files, for example:
gcc [-m64] -fPIC -shared -lc open.c -o libopen.so
When you start your process, just add
and every open() library call will be intercepted.
Then - if your application does IO in ways compatible with direct IO, you'll bypass the page cache. If your application does IO in ways that are not compatible with direct IO, it'll work very badly indeed.
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)
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)
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)
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)
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)
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)
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)
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)
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)