Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm trying to run some pretty intense scripts on my server & it uses up a lot, a lot, of memory. So much so that I think the kernel turns off sshd. I'm remote to logging in over ssh is crucial.
How can I keep sshd up or test if it is running and if not start it again?
You also probably want to de-intensify your script.
Putting some sleep statements in it will likely help.
Does the script do anything like a for or while loop that spawns background processes? This will kill your CPU rather than your memory. Putting sleeps inside loops definitely helps.
e.g.
while true
do ls -lR / &
done
Would peg your CPU rather quickly. Whereas:
while true
do ls -lR / &
sleep 300
done
Would tell it to wait 5 minutes between each ls -lR /. Not saying you should have sleeps of 300 between everything. It depends a lot on what you're running. Doing sleep 1 would probably be sufficient if you were doing "ps" (with no flags) in the loop. If you were doing "ps -ef" you'd probably want to do a sleep 5 instead.
The sleep doesn't necessarily have to be in a loop. Also any time you background in the script it is going to do that then immediately proceed to the next item. Simply taking out the & that does the backgrounding of the items will make the next item wait until the first is done.
Last edited by MensaWater; 02-16-2007 at 12:47 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.