[bash-script] get_info.sh print cpu allocation infomation of threads

1) way1
ps xH -o 'pid tid cmd comm pcpu psr'

2) way2
#!/bin/bash
TMP_FILE=$(mktemp /tmp/abc-script.XXXXXX)
echo ${TMP_FILE}
ps xH -o 'pid tid cmd comm pcpu ' > ${TMP_FILE}

function make_header()
{
  echo -n "$1"
  echo " psr"
}

function make_values()
{
  echo -n "$1"
  STATUS_FILE=/proc/${2}/task/${3}/status
  if [ -f ${STATUS_FILE} ] ; then
    CPU_SET=`cat ${STATUS_FILE}  |grep Cpus_allowed_list |awk ' { print $2 } '`
  else
    CPU_SET="None"
  fi
  echo " ${CPU_SET}"
}

let IDX=0
while IFS='' read -r line || [[ -n "$line" ]]; do
   LINE_SEP=( $line )
   MY_PID=${LINE_SEP[0]}
   MY_TID=${LINE_SEP[1]}
   if [ ${IDX} -eq 0 ]; then
     SZ_HEADER=`make_header "$line"`
     echo ${SZ_HEADER}
   else
     SZ_VALUES=`make_values "$line" ${MY_PID} ${MY_TID}`
     echo ${SZ_VALUES}
   fi
#   echo ${IDX}
  let IDX=${IDX}+1
done < "${TMP_FILE}"

rm ${TMP_FILE}

Comments

Popular posts from this blog

e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang

[WordPress] Change https redirect in DB.

sanitize on in CMakeLists.txt