开发 SaltStack 的 Web 界面,遇到一个神奇的问题:
通过 Python 调用 salt-api 没有返回值,直到超时,并且后端打印 DEBUG 日志:
会提示机器链接不上,而且机器 hostname 是被拆分开的。
交换分区设置
[root@rhce ~]# cat /proc/sys/vm/swappiness
60
该值默认为60。
swappiness=0 的时候,表示最大限度使用物理内存,然后才使用 swap 空间。
swappiness=100 的时候,表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间中。
现在服务器的内存动不动就是上百G,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对 swap 的使用,从而提高系统的性能。
修改 swappiness 参数有临时修改和永久修改两种方法:
临时修改:
[root@rhce ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@rhce ~]# cat /proc/sys/vm/swappiness
10
这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.
永久修改:
在 /etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
或者:
[root@rhce ~]# echo 'vm.swappiness=10'>> /etc/sysctl.conf
保存,重启,就生效了。
Linux 升级 Glibc
下载安装包
wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
解压
tar -xvf glibc-2.15.tar.gz
tar -xvf glibc-ports-2.15.tar.gz
包合并
mv glibc-ports-2.15 glibc-2.15/ports
建立编译目录
mkdir glibc-build-2.15
编译
cd glibc-build-2.15
../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install
查看 glibc 支持的版本
strings libc.so | grep GLIBC
awk 列求和
awk 'BEGIN{sum=0}{sum+=$1}END{print sum}' data.txt
有a、b、c三行三列,计算出第二列和第三列的总和,并在第四行输出
[root@test ~]# cat data.txt
a 1 10
b 26 379
c 2 1605
[root@test ~]# awk '{printf "%10s%5s%8s\n",$1,$2,$3;x+=$2;y+=$3}END{printf "%10s%5s%8s\n","Total:",x,y}' data.txt
a 1 10
b 26 379
c 2 1605
Total: 29 1994
sed 在行首或行尾添加
sed 在行首添加字符串
^ 符号代表行首
sed 's/^/xxx/' filename
sed 在行尾添加字符串
$ 符号代表行尾
sed 's/$/string/' filename
sed 在某行后添加
cat txt
aaa 111 bbb
ccc 222 ddd
eee 333 ggg
jjj 444 kkk
hhh 555 lll
mmm 666 nnn
jjj 444 kkk
kk 777 ggg
使用 a 追加
sed -i -e '/jjj 444 kkk/a\test test test' txt
cat txt
aaa 111 bbb
ccc 222 ddd
eee 333 ggg
jjj 444 kkk
test test test
hhh 555 lll
mmm 666 nnn
jjj 444 kkk
test test test
kk 777 ggg
sed 匹配两行之间的行
cat file.txt
11
22
33
44
55
要匹配11和44之间的内容
sed -n '/11/,/44/p' file.txt
11
22
33
44
Shell 取字符串最后一个字符
var=3234j35ja
echo $var
3234j35ja
1.echo ${var: -1}
2.echo $var|fold -1|sed -n '$p'
Shell中 uniq 与 sort -u 的去重区别
uniq 和 sort -u 都能起到删除重复信息的功能。
$ cat test
jason
jason
jason
fffff
jason
1.uniq test
$uniq test
jason
fffff
jason
2.sort -u test
sort -u test
fffff
jason
3.sort test|uniq
$sort test |uniq
fffff
jason
从上面三个命令我们很容易看出他们之间的区别。
uniq 所谓的重复是连续出现的相同记录。