Guest User

Untitled

a guest
Oct 20th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. declare -A id_to_tag
  4. declare -A id_to_short
  5. declare -A id_to_pid
  6. declare -A id_to_cpu_cgroup
  7. declare -A id_to_mem_cgroup
  8. declare -A id_to_cpu
  9. declare -A id_to_cpu_cfs_period_us
  10. declare -A id_to_cpu_cfs_quota_us
  11. declare -A id_to_mem
  12.  
  13. while read -r k v; do
  14. id_to_tag[$k]=$v
  15. id_to_short[$k]=`echo "$v" | sed 's/.*logging-\([^@]*\).*/logging-\1/'`
  16. pid=`docker inspect -f '{{.State.Pid}}' $k`
  17. id_to_pid[$k]=$pid
  18. cpu_cgroup=`cat /proc/$pid/cgroup | awk 'BEGIN{FS=":"} /5:cpuacct/{print($3)}'`
  19. id_to_cpu_cgroup[$k]=$cpu_cgroup
  20. mem_cgroup=`cat /proc/$pid/cgroup | awk 'BEGIN{FS=":"} /3:memory/{print($3)}'`
  21. id_to_mem_cgroup[$k]=$mem_cgroup
  22. id_to_cpu[$k]=`cat /sys/fs/cgroup/cpu/$cpu_cgroup/cpu.shares`
  23. id_to_cpu_cfs_period_us[$k]=`cat /sys/fs/cgroup/cpu/$cpu_cgroup/cpu.cfs_period_us`
  24. id_to_cpu_cfs_quota_us[$k]=`cat /sys/fs/cgroup/cpu/$cpu_cgroup/cpu.cfs_quota_us`
  25. id_to_mem[$k]=`cat /sys/fs/cgroup/memory/$mem_cgroup/memory.limit_in_bytes`
  26. done < <(docker ps | awk '/logging-/{print($1" "$2)}' | grep 'logging-')
  27.  
  28. function pretty() {
  29. echo SHORT CONTAINER_ID PID cpu.shares cpu.cfs_period_us cpu.cfs_quota_us memory.limit_in_mbytes
  30. for k in "${!id_to_tag[@]}"; do
  31. mem_mb=`expr ${id_to_mem[$k]} / 1024 / 1024`
  32. echo "${id_to_short[$k]} $k ${id_to_pid[$k]} ${id_to_cpu[$k]} ${id_to_cpu_cfs_period_us[$k]} ${id_to_cpu_cfs_quota_us[$k]} $mem_mb"
  33. done
  34. }
  35.  
  36. pretty | column -t
Add Comment
Please, Sign In to add comment