[modify] add new functions of find docker pid and print top 20 info of mem & cpu
This commit is contained in:
parent
ed631e97c2
commit
09f73bb770
18
utool/pid_in_docker.sh
Normal file
18
utool/pid_in_docker.sh
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
psid=$1
|
||||||
|
|
||||||
|
ids=$(docker inspect -f "{{.Id}}" $(docker ps -q))
|
||||||
|
|
||||||
|
for did in $ids; do
|
||||||
|
docker top $did | awk '{print $2, $3}' | grep -wq $psid
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "Docker ID : $did"
|
||||||
|
name=$(docker inspect -f '{{.Name}}' $did | tr -d "/")
|
||||||
|
echo "Docker Name: $name"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Not a docker (sub)process..."
|
||||||
|
|
17
utool/ps_top_20.sh
Normal file
17
utool/ps_top_20.sh
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# ps -ely | sort -nrk 8 | head -n 20 | awk 'BEGIN{print "UID", "PID", "PPID", "RSS", "CMD"} {print $2, $3, $4, $8/1024"M", $NF}' | column -t
|
||||||
|
fmt="%-9s%-9s%-6s%-6s\033[1;32m%-8s\033[0m%-10s\n"
|
||||||
|
awk -v fmt=$fmt 'BEGIN{printf fmt, "PID","PPID","%CPU","%MEM","RSS","COMM"}' > /tmp/mem.top
|
||||||
|
ps -eo pid,ppid,pcpu,pmem,rss,comm | grep -Ev "grep|ps" | sort -nrk 5 | head -n 20 | awk -v fmt=$fmt '{printf fmt, $1,$2,$3,$4,int($5/1024)"M",$6}' >> /tmp/mem.top
|
||||||
|
|
||||||
|
> /tmp/deli.top
|
||||||
|
for i in `seq 21`; do
|
||||||
|
echo '|' >> /tmp/deli.top
|
||||||
|
done
|
||||||
|
|
||||||
|
fmt="%-9s%-9s\033[1;34m%-6s\033[0m%-6s%-8s%-10s\n"
|
||||||
|
awk -v fmt=$fmt 'BEGIN{printf fmt, "PID","PPID","%CPU","%MEM","RSS","COMM"}' > /tmp/cpu.top
|
||||||
|
ps -eo pid,ppid,pcpu,pmem,rss,comm | sort -nrk 3 | grep -Ev "grep|ps" | head -n 20 | awk -v fmt=$fmt '{printf fmt, $1,$2,$3,$4,int($5/1024)"M",$6}' >> /tmp/cpu.top
|
||||||
|
|
||||||
|
paste /tmp/mem.top /tmp/deli.top /tmp/cpu.top | column -t
|
||||||
|
rm -rf /tmp/{mem.top,cpu.top,deli.top}
|
@ -84,6 +84,22 @@ def utool(option):
|
|||||||
os.environ['param'] = param
|
os.environ['param'] = param
|
||||||
os.system('/usr/bin/bash /opt/scripts/utool/date2n.sh $param')
|
os.system('/usr/bin/bash /opt/scripts/utool/date2n.sh $param')
|
||||||
|
|
||||||
|
# -h
|
||||||
|
def usage():
|
||||||
|
exit_on_wrong_number()
|
||||||
|
print_usage()
|
||||||
|
|
||||||
|
# -i
|
||||||
|
def ps_top_20():
|
||||||
|
exit_on_wrong_number()
|
||||||
|
os.system("/usr/bin/bash /opt/scripts/utool/ps_top_20.sh")
|
||||||
|
|
||||||
|
# -j
|
||||||
|
def docker_pid():
|
||||||
|
exit_on_wrong_number(2)
|
||||||
|
os.environ['param'] = sys.argv[2]
|
||||||
|
os.system('/usr/bin/bash /opt/scripts/utool/pid_in_docker.sh $param')
|
||||||
|
|
||||||
# -p
|
# -p
|
||||||
def gen_passwd():
|
def gen_passwd():
|
||||||
exit_on_wrong_number(2)
|
exit_on_wrong_number(2)
|
||||||
@ -114,9 +130,9 @@ def utool(option):
|
|||||||
'-t': ['Reserved', None],
|
'-t': ['Reserved', None],
|
||||||
'-h': [' show this help information and exit', print_usage],
|
'-h': [' show this help information and exit', print_usage],
|
||||||
'-u': ['Reserved', None],
|
'-u': ['Reserved', None],
|
||||||
'-i': ['Reserved', None],
|
'-i': [' print top 20 mem and cpu process', ps_top_20],
|
||||||
'-v': ['Reserved', None],
|
'-v': ['Reserved', None],
|
||||||
'-j': ['Reserved', None],
|
'-j': ['*find a docker subprocess, if true then print info', docker_pid],
|
||||||
'-w': ['Reserved', None],
|
'-w': ['Reserved', None],
|
||||||
'-k': ['Reserved', None],
|
'-k': ['Reserved', None],
|
||||||
'-x': ['Reserved', None],
|
'-x': ['Reserved', None],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user