【原】待解决的问题

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

Docker笔记

ElasticSearch

jenkins

Scala

groovy

Clojure

先不看,貌似不怎么火

猜你喜欢

转载自blog.csdn.net/Csunshine211/article/details/82620165
今日推荐