常用脚本
1、fix_irq.sh
脚本作用:把所有硬件中断指定到0核上。读者若需修改指定核,可修改01参数为指定核的cpumask
echo 01 > /proc/irq/${irq_number}/smp_affinity
cat /proc/interrupts | awk '{print $1}' > test_irq.txt while read line do irq_number=${line%?} irq_affinity=`cat /proc/irq/${irq_number}/smp_affinity` if [[ ${irq_affinity} != "01" ]] && [[ ${irq_affinity} != "" ]] then echo "fix ${irq_number} --- ${irq_affinity} to 1 " echo 01 > /proc/irq/${irq_number}/smp_affinity irq_affinity=`cat /proc/irq/${irq_number}/smp_affinity` fi if [[ ${irq_affinity} != "" ]] then echo "${irq_number} --- ${irq_affinity}" fi done < test_irq.txt
2、对比内核两份config的差异:
config分别存放在:config_5.txt、config_4.txt。config_4.txt比config_5.txt多的配置,存放在diff_4.txt
rm diff_4.txt access_number=0 not_access_number=0 while read line do is_config=`echo ${line: 0: 6}` if [[ "${is_config}"x == "CONFIG"x ]] then is_config=`echo ${line} | awk -F "=" '{print $1}'` grep_result=`grep -nr "${is_config}" config_5.txt` if [ $? -ne 0 ];then echo "${line} not_access" >> diff_4.txt let not_access_number=not_access_number+1 else echo "${line} accessful" >> diff_4.txt let access_number=access_number+1 fi fi done < config_4.txt
3、高cpu 占用率测试代码
#!/bin/bash while true; do for ((i=0; i<1000000; i++)); do result=$(echo "scale=1000; sqrt(2)" | bc -l) result=$(echo "scale=10; s(0)*c(0)" | bc -l) done done
4、shell 打印时间搓
echo $(date +"%Y-%m-%d %H:%M:%S")
5、grep 只拿到检索进程pid
ps aux | grep "[t]est" | awk '{print $2}' //进程名第一个字符[]处理
6、while/for 循环示例
#!/bin/bash while true; do process_pids=`ps aux | grep "[t]test" | awk '{print $2}'` for process_pid in $process_pids; do thread_dirs=$(ls /proc/$process_pid/task/) for thread_pid in $thread_dirs; do cgroup_info=$(cat /proc/$process_pid/task/$thread_pid/cgroup 2>/dev/null) #echo $(date +"%Y-%m-%d %H:%M:%S") > /mnt/flash\:/log.txt #echo "*********Thread PID: $thread_pid Cgroup Info: $cgroup_info" >> /mnt/flash\:/log.txt done done sleep 0.01 done
7、 判断系统是ubuntu 还是centos
//在Linux shell中,你可以使用以下脚本来判断当前系统是Ubuntu还是 if [ -f /etc/os-release ]; then source /etc/os-release if [ "$ID" == "ubuntu" ]; then echo "This is Ubuntu." elif [ "$ID" == "centos" ]; then echo "This is CentOS." else echo "Unknown Linux distribution." fi else echo "Unable to determine the Linux distribution." fi
浙公网安备 33010602011771号