Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

OOM Keep your mits off!

Status
Not open for further replies.

Guest_imported

New member
Jan 1, 1970
0
I have this little c-proggie that's is, I admit, a total resource hog with huge arrays & many cycles. The OOM is killing it after random intervals... normally, in a multi-user environment, this would be a good thing. However, the job will only be run on a machine(s) temporarily dedicated to it.

OK, I've gotta chunk the job eventually, however doing this will severely compromise efficiency (during the reconstitution phase) so I want to make the job chunks as large as
possible.

Whew, all that & no question yet... The question is: In your experience, what is the best way to torque back the OOM? Even better, if it's possible, what is the best way to temporarily get that beastie to back off a bit?

TIA
 
looks like OOM is everyone else's friend :D The Lone Ranger rides off on his own quixotic quest to slay this daemon.
 
You can create a private swap are via a memory mapped file. man 3 the mmap & msync functions. You can write your "huge arrays" to a file and then memory map that file & play with the data all you want.

Provided you're not trying to write beowolf code & keep it all on the same box. You shouldn't need to chunk the job for data size. AND you can very easily multi-process the job (like with a dual-processor box) thru this method.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top