Sponsored Content
Top Forums Shell Programming and Scripting Bash script to periodically monitor a process's memory usage Post 303045286 by james101 on Sunday 15th of March 2020 03:08:16 PM
Old 03-15-2020
Bash script to periodically monitor a process's memory usage

I'm looking for a bash script that allows me to start a process in background, monitor its memory consumption every 10 minutes for example, and if it exceeds a certain value kill it and restart it.
Some idea?
I'm new to bash programming, I started writing a script and after testing it I always get the same error,
Code:
syntax error near unexpected token 'fi'

how to proceed? I run the code on an ec2 aws istance


Code:
    #note that this code is incomplete while loop missing
    #!/usr/bin/bash
    sudo python3 main.py &
    pidlist=$(pidof python3 main.py)
    read FIRST __ <<< "$pidlist"
    echo "$FIRST"
    #memory in percent
    mem=$(ps -p "$FIRST" -o %mem)
    echo "$mem"
    set -- $mem
    memory="$2"
    if [ "$memory" -gt "20.0" ];then
      echo "killing process"
    fi


Last edited by james101; 03-16-2020 at 01:59 PM..
 

9 More Discussions You Might Find Interesting

1. Programming

Monitor CPU usage and Memory Usage

how can i monitor usages of CPU, Memory, Hard disk etc. under SUN Solaries through a c program or java program i want to store that data into database so i can show it graphically thanks in advance (2 Replies)
Discussion started by: Gajanad Bihani
2 Replies

2. Shell Programming and Scripting

Memory usage of a process

hi all, i want to write a script that checks the memory usage of processes and send a mail with the name of the process witch is using more then 300mb RAM. dose anybody have a sample script or an idea how i can make it ? PROCCESSES="snmpd sendmail" for myVar in $PROCCESSES do ... (7 Replies)
Discussion started by: tafil
7 Replies

3. AIX

How to monitor the IBM AIX server for I/O usage,memory usage,CPU usage,network..?

How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies

4. UNIX for Dummies Questions & Answers

Monitor Memory of a process

Hi, I need to monitor the memory usage of a particular process continuously. As of now I am using the following command: ps -fu <user name> -o pid,comm,vsz | grep <process_name> | grep -v grep The output of this command gives me what i need except i want the output to keep getting updated... (3 Replies)
Discussion started by: archana485
3 Replies

5. UNIX for Advanced & Expert Users

How often should I monitor the CPU and memory usage ?

Hi all, When you monitor the CPU and memory usage, how often do you do it ? Do it too often or too rarely will both cause the problem. So does anyone have hand-on experience ? And for my case, the requirement says that when CPU usage is above X% or memory usage is above Y%, I should reject... (5 Replies)
Discussion started by: qiulang
5 Replies

6. Emergency UNIX and Linux Support

How to monitor a process memory utilization?

hi frnds, I want to monitor a particular process very closly on how much memory it is taking. i tried with TOP and PRSTAT commands that is not giving what exactly i need. In my application, there is a memory leak happening, i want to know when it is occuering, means which transcation is... (9 Replies)
Discussion started by: vij_krr
9 Replies

7. Shell Programming and Scripting

Memory Usage Monitor on Linux/SunOS Servers

ok, so i'm trying to write a shell script (not perl) that monitors memory usage on a server. but i'm confused as to what fields exactly determines that yes, memory is low on a particular server. it sounds simple enough, but it really isn't. what do I look for in the field below? ... (1 Reply)
Discussion started by: SkySmart
1 Replies

8. UNIX for Dummies Questions & Answers

What to monitor for memory usage?

hi guys I am having a doubt about memory monitoring on linux system what I should be monitoring? memory usage? o swap usage? I am using some monitoring tools but I am confused to what monitor for alerting for example this case looks the memory usage is very high and it's like that all... (2 Replies)
Discussion started by: karlochacon
2 Replies

9. Shell Programming and Scripting

Shell script for logging cpu and memory usage of a Linux process

I am looking for a way to log and graphically display cpu and RAM usage of linux processes over time. Since I couldn't find a simple tool to so (I tried zabbix and munin but installation failed) I started writing a shell script to do so The script file parses the output of top command through... (2 Replies)
Discussion started by: andy_dufresne
2 Replies
shmx(8) 						      System Manager's Manual							   shmx(8)

Name
       shmx - shared memory exerciser

Syntax
       /usr/field/shmx [ -h ] [ -ofile ] [ -ti ] [ -mj ] [ -sk ] [ -v ]

Description
       The  memory exerciser spawns a background process and these two processes exercise the shared memory segments. They each take turns writing
       and reading the other's data in the segments.

       You can specify the number of memory segments to test and the size of the segment to be tested by and processes. The exerciser  runs  until
       the process receives a or a kill -15 pid.

       A  logfile  is  made in for you to examine and then remove. If there are errors in the logfile, check the file, where the driver and kernel
       error messages are saved.  The exerciser is automatically invoked when the exerciser is started.  You can also run by itself.

Options
       -h	 Print the help message for the command.

       -v	 Use the system call instead of to spawn

       -ofile	 Save diagnostic output in file.

       -ti	 Run time in minutes (i).  The default is to run until the process receives a or a kill -15 pid.

       -mj	 The memory segment size in bytes (j) to be tested by the processes.  Must be greater than 0.  The default is SMMAX/6.	(SMMAX	is
		 a system parameter set in the file

       -sk	 The number of memory segments (k).  The default is 6.	The maximum is also 6.

Examples
       The following example tests six memory segments (default), each with a segment size of SMMAX/6, until a or kill -15 pid is received:
       % /usr/field/shmx
       The following example runs three memory segments of size 100,000 bytes for 180 minutes in the background:
       % /usr/field/shmx -t180 -m100000 -s3 &

Restrictions
       If  there  is  a  need to run a system exerciser over an NFS link or on a diskless system there are some restrictions.  For exercisers that
       need to write into a file system, such as the target file system must be writable by root.  Also the directory, in which any of	the  exer-
       cisers  are  executed,  must be writable by root because temporary files are written into the current directory.  These latter restrictions
       are sometimes difficult to overcome because often NFS file systems are mounted in a way that prevents root from writing into them.  Some of
       the restrictions may be overcome by copying the exerciser to another directory and then executing it.

See Also
       Guide to System Exercisers

																	   shmx(8)
All times are GMT -4. The time now is 05:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy