There's a disfunctional process eating copious cpu time.Is there a way to effectively assign it a high nice value? I need to do this whenever it runs, for whatever reason, and I can't be bothered to track down all the scripts and scenarios that cause it to run and change the script to use nice. And I can't be bothered to manually run renice whenever I notice that it's running.
I want the OS to automatically assign a high nice value to this process, perhaps based on the processes name. Is this possible?Presumably, a cron job could run every 5 minutes and run "renice" on every process matching a given name, but I'm hoping for a solution with more finess.
I'm writing a shell script which aims to create a safe gtared (xxx.sql.gz) copy of MySQL databases.This script is planned to be Cron-Jobed.
Well, what I need to add to this shell, is something that limit CPU usage for the whole process (just in case if the database being generating is a huge one.)So, after few time of googling I found couple of solutions:
- Using cpulimit. I tried to place the code in Position(1) and Position(2) but it didn't seem to be working fine.. Any idea about the right use?
And the other Solution is:- Using nice.
Well, assuming I named my shell script (sqlbacker)..
Finally, this is my first time I ever write a shell, so correct me if somewhere I made a mistake :-) (The script itself works perfectly)
I've written a program for a class that my professor will be testing in various low memory environments to see how it behaves when the program runs out of memory. Is there a way I can simulate the execution in a low memory environment without creating a virtual machine?
Is there any way to monitor one process' CPU usage and RAM usage over time on Linux? I am trying to change to a cheaper VPS and need to work out what level of CPU and RAM I need!
I would like to limit any process from using more than 500 MB of RAM. AFAIK this is done using RSS in /etc/security/limits.conf but the process called gnome-panel apparently is using 618436 kB of VmRSS. How can this be ?
I have already tried trickle and wondershaper. I need a program that can limit the speed of download/upload of an already running program. Similar to the how NetLimiter in Windows limits already running processes. Using Linux.
I am currently writing a JAVA script to monitor certain unix processes through JConsole. Upon having lots of trouble with runtime.exec, i decided to bypass the top/ps command call and just get the information straight from /proc/*pid*/whatever.Now i can pull back any information from any of the files I want, and the current way i determine the CPU usage of a process is as follows:Add the UTime and STime of that process from /proc/pid/stat then divide my pidCpu by UTime + STime + NTime from /proc/stat, then multiply that by 100, should give me the % cpu usage a process is using, right?Theory being if I get the jiffies assigned to my process, I can divide that by the total jiffies the cpu assigns.
However, my results seem to vary from the ones gathered from top and ps. What am I doing wrong?
I am currently writing a JAVA script to monitor certain unix processes through JConsole. Upon having lots of trouble with runtime.exec, i decided to bypass the top/ps command call and just get the information straight from /proc/*pid*/whatever.Now i can pull back any information from any of the files I want, and the current way i determine the CPU usage of a process is as follows:
Add the UTime and STime of that process from /proc/pid/stat then divide my pidCpu by UTime + STime + NTime from /proc/stat, then multiply that by 100, should give me the % cpu usage a process is using, right?Theory being if I get the jiffies assigned to my process, I can divide that by the total jiffies the cpu assigns. However, my results seem to vary from the ones gathered from top and ps. What am I doing wrong?
In linux, how can I display memory usage of each process if i do a 'ps -ef'?I would like to the 'virtual memory', 'res memory', 'shared memory' of each progress. I can get that via 'top', but I want the same info in 'ps -ef ' so that I can pipe the output to 'grep {my process name}'.
I have been running to a strange problem. For a few days, a few times a day something seems to take over my machine. Suddenly I can't type, or the key shows up about 5 seconds are being pressed, music players halt, etc. In anticipation, I had top and htop running. Sure enough, when this business begins htop reports all 8 cores firing at near 100% for a few minutes. However, top is telling me nothing about who is too blame. The cup%sy on top shows heavy usage, but the top processes are nothing remarkable, mostly just top and htop and conky, all running at around 1 or 2% on average. I am a bit puzzled as to why I can't see the cpu hog so that I figure out what is going on. My question then: Are there some processes (in kernel space?) that don't show up in top, yet which could be hogging the cpu?
I have to monitor the %MEM that processes are using, so I use the ps and sort command like this ....
ps -aux | sort -nk4
So this will sort by column 4 so I can see the all the processes that are using the highest %MEM. What I really want is to be able to just display the process name and the %MEM next to it. how to do this?
What originally seemed like an easy thing to calculate has given me a big headache. Perhaps someone can help me with my issue. I am trying to find, in particular, how much memory certain application processes are taking. The process always is the same name, main_server, but with an argument to tell it what to do when running as a daemon.
When running the following command against all "main_server" processes, it produces a result in megabytes based on the output of the rss field in 'ps'.
Code: CALC=0 for ea in `ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS | grep main_server | grep -v "grep main_server" |
[Code]...
Currently I am left scratching my head. For capacity planning purposes, it would be nice to know how many more 'main_server' processes could run on the system without causing it to swap. Knowing the buffer and cache usage will go down as running processes demand more memory, I prefer to look at the free memory excluding cache and buffers. However, since 'ps' is reporting the processes are using more memory than free reports is in use without those things, I have no way to know how many more processes the system can support. I played around with different fields in 'ps', such as vsize, size, etc, but with no luck in matching up any numbers.
Are there a way to set fixed maximum processing power to a process.For example a program called 'X' uses cpu in high speed. I need to set this 'X' process to to run with maximum 20% of cpu usage at any time.
Everytime CPU reaches around 85% of maximum it shuts down due to overheating. What I want to do is be able to throttle the cpu to 75% so it never goes above that. I don't want to just throttle individual programs which I think is what CPULimit does right? The fans are failing but I can't afford to get fixed. I just want to use it for email and web browsing usually.
I have cleaned dust out, use in a well ventilated room, use a cooling stand etc but still when CPU gets to approx 85% then whala it shuts itself down. Have been using with XP but just switched to Ubuntu and have only had it shut down once so far.
I've noticed that "su" can be run from any user account so long as the user knows the root password.What if I want to limit the ability to "su" to only 1 user account? For example: Pretend my desktop has 4 different user accounts. Currently each user account could run "su" for root access if the person sitting in front of the screen knows the password.
1) Could I somehow make only 1 of the 4 user accounts able to "su" into root mode?
2) If yes, then would doing so have any side-effects?
I woukld like to know the kernel command or linux kernel file name where i can get the process actual physical RAM usage in linux version 2.6.21 or hiher version.
I am running a HP dc5750 dual core computer with a 512MB Nvidia 7200/7300 graphics card my operating system is Ubuntu 10.10. Both my processors are operating at 98-104% cpu usage, it appears that gnome-appearance-properties is the culprit and the only way to return to normal is to end these processes. I have been setting up the desktop cube to my liking and the processor appears to rise up to 100% again. Would getting a 1GB graphics card correct this or is this a bug in maverick meerkat. Any advice would be appreciated. Please keep it simply as I am a Newbie to Linux and find things over-whelming at times. Also would running at 100% on both processors at indefinite periods of time harm my computer.
I recently read a windows tip which read: - Windows allots 20% of the bandwidth by default for various services like Windows update, spyware checks etc. We can get hold of this bandwith by changing the values of limit reserve bandwidth under QOS packet scheduler. Now my questions: How to limit the bandwidth usage used by ubuntu updates in the above lines?
I was looking into using control groups to limit the memory usage of each user on my CentOS system. I was told that this required me to recompile the kernel to have cgroup support. Is this true? Or is there a kernel module that will allow cgroups to work for users and groups on the system without kernel re-compile? Or, is there another way to limit the users memory usage? I have tried ulimit and it doesn't seem to work right.
I ask since this setup will be on a VPS system, that means to re-compile the kernel I need to use Xen instead of OpenVZ. Plus I have never in my life re-compiled the kernel, least of all with different modules ha ha ha so I would have to pay my NOC to do it. So if I don't HAVE to recompile the kernel to get cgroup support.
Can I, with only the use of IPTABLES, limit the incoming bandwith for a protocol? We have for example servers that have a FTP and HTTP server running and whenever HTTP has a lot of connections open, the other uploads/downloads get a timeout. I know I can limit the number of connections but prefer to limit on protocol level. Is this possible using IPTABLES and if so, can someone indicate how to proceed or provide a link? If it's not possible can someone point me to the right tool for the job?
I am trying run audio conversion on my server that I want limited to a certain number of processes based on process name. I am using the following script but it isnt limiting the number of job like I want it to.
Code: #!/bin/bash $num_jobs = 13 while [ $(ps -A | grep -v grep | grep -c pacpl) -ge $num_jobs ] do sleep 1
I have a computer with 16GB of ram. At the moment, top shows all the RAM is taken, (NOT by cache), but the RAM used by the various processes is very far from 16GB.I have seen this problem several times, but I don't understand what is happening.My only remedy so far has been to reboot the machine.
how to check which process consuming a lot of HDD I/O ? Do You know any good command which can show me which process saving something big on the storage system ? "iostat" or maybe "ps" ? Would be great if somebody could past me here nice command.