交换分区设置


[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 在某行后添加


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
阅读全文

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 所谓的重复是连续出现的相同记录。

阅读全文

Nginx upstream 的5种权重分配方式


1.轮询

upstream backend {
  server 192.168.0.14;
  server 192.168.0.15;
}

2.weight
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

upstream backend {
  server 192.168.0.14 weight=10;
  server 192.168.0.15 weight=10;
}

3.ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。

upstream backend {
  ip_hash;
  server 192.168.0.14:88;
  server 192.168.0.15:80;
}

4.fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream backend {
  server server1.linuxany.com;
  server server2.linuxany.com;
  fair;
}

5.url_hash
按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器,后端服务器为缓存时比较有效。

upstream backend {
  server squid1:3128;
  server squid2:3128;
  hash $request_uri;
  hash_method crc32;
}
阅读全文