taskset的使用,如何使应用程序平均的使用CPU
首先需要确认服务器是否有taskset命令,没有的话执行如下安装
$ yum install util-linux
查看CPU亲和力
$ taskset -p 14795
// 或
$ taskset -cp 14795
使用-p选项指定需要查询的进程号,默认打印的是一个十六进制数
使用-cp选项打印的是一个cpu列表,表示相应的cpu核
表示14795进程运行在cpu的哪些核上
将应用绑定到指定的CPU上运行
$ taskset -p 0x1 14795
// 或
$ taskset -p 0x1 14795
中断的绑定
zookeeper的作用
sed命令
# sed加上-i参数才会直接修改文件,否则只是在屏幕上显示修改后的效果而已,修改貌似无法撤销,慎用
# 使用sed 在第四行后添加新字符串
# -e表示: 以选项中指定的script来处理输入的文本文件。
# 4表示:第4行
# a表示:动作为新增
# \表示:sed中的\是分隔符
# -e参数可以省略
$ sed -e 4a\newline testfile
# 删除文件的第2到5行(前后都包含),d表示:动作为删除
$ sed '2,5d' testfile
# 删除第三行到最后一行
$ sed '3,$d' testfile
# 在第二行之后加入
$ sed '2a drink tea' testfile
# 在第二行之前加入
$ sed '2i drink tea' testfile
# 换行就用\n,不要麻烦了
# 将第2到第5行替换为hello
$ sed '2,5c hello' testfile
# 仅列出文件内的第 5-7 行
# p表示动作为打印,常和-n参数一起使用
$ sed -n '5,7p' testfile
# 显示含有root关键字的行
$ sed -n '/root/p' testfile
# 删除包含root的行,其他行输出
$ sed '/root/d' testfile
# 找到root对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔
# 有点复杂,没看懂,最好不要用
$ sed -n '/root/{s/bash/blueshell/;p;q}' testfile
# 字符串替换
# s表示:动作为替换
# g表示:全局
$ sed 's/要被取代的字串/新的字串/g' testfile
# 多点编辑,使用多了-e参数后面加命令完成
$ sed -e '3,$d' -e 's/bash/blueshell/g' testfile
awk命令
awk命令
# 一般使用
ps -ef | grep java | grep -v | awk '{print $2}' | xargs kill -9
# 每行按空格或TAB分割,输出文本中的1、4项
$ awk '{print $1,$4}' log.txt
# 使用","分割
$ awk -F, '{print $1,$2}' log.txt
# 设置变量
$ awk -va=1 -vb=s '{print $1,$1+a,$1b}' log.txt
# 调用awk脚本
$ awk -f cal.awk log.txt
# 过滤第一列大于2的行
$ awk '$1>2' log.txt
# 过滤第一列等于2的行
$ awk '$1==2 {print $1,$3}' log.txt
# 过滤第一列大于2并且第二列等于'Are'的行
$ awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt
# 取第10行之后的数据
$ awk 'NR>10 {print $1}' log.txt
# 第10行之后,每三行
$ awk 'NR>10 && (NR-10)%3==0 {print $1}' log.txt
# 内建变量,有点复杂,太难记
# 略
# 正则,输出第二列包含 "th",并打印第二列与第四列
# ~ 表示模式开始。// 中是模式。
$ awk '$2 ~ /th/ {print $2,$4}' log.txt
# 输出包含"re" 的行
$ awk '/re/ ' log.txt
# 正则忽略大小写
$ awk 'BEGIN{IGNORECASE=1} /this/' log.txt
# 模式取反
$ awk '$2 !~ /th/ {print $2,$4}' log.txt
$ awk '!/th/ {print $2,$4}' log.txt
# 从文件中找出长度大于80的行
awk 'length>80' log.txt
# BEGIN 和 END使用
ls -l test.txt | awk 'BEGIN {print "Hello AWK"} {sum+=$6} END {print sum}'
awk脚本
#!/bin/awk -f
#运行前
BEGIN {
math = 0
english = 0
computer = 0
printf "NAME NO. MATH ENGLISH COMPUTER TOTAL\n"
printf "---------------------------------------------\n"
}
#运行中
{
# 这里用于最后计算平均值的
math+=$3
english+=$4
computer+=$5
# 分别打印第1/2/3/4/5行,并格式化输入
printf "%-6s %-6s %4d %8d %8d %8d\n", $1, $2, $3, $4, $5, $3+$4+$5
}
#运行后
END {
printf "---------------------------------------------\n"
printf " TOTAL:%10d %8d %8d \n", math, english, computer
printf "AVERAGE:%10.2f %8.2f %8.2f\n", math/NR, english/NR, computer/NR
}
gerp命令
Docker
ElasticSearch
jenkins
Scala
groovy
Clojure
先不看,貌似不怎么火