聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

shell应用(6): TCP内核调优与内存转储快捷脚本

2014-03-25 20:20 浏览: 653151 次 我要评论(0 条) 字号:

   为了方便更改系统tcp内核的一些参数,编写ktcpopt脚本如下
1#! /bin/bash 
2# ktcpopt 
3
4sed -i '/net.ipv4.tcp_syncookies|net.ipv4.tcp_tw_reuse|net.ipv4.tcp_tw_recycle|net.ipv4.tcp_fin_timeout|net.ipv4.tcp_max_syn_backlog|net.ipv4.tcp_max_tw_buckets|net.ipv4.ip_local_port_range/d' /etc/sysctl.conf
5
6sed -i '$anet.ipv4.tcp_syncookies=1nnet.ipv4.tcp_tw_reuse=1nnet.ipv4.tcp_tw_recycle=1nnet.ipv4.tcp_fin_timeout=30nnet.ipv4.tcp_max_syn_backlog=8192nnet.ipv4.tcp_max_tw_buckets=5000nnet.ipv4.ip_local_port_range=10000 65000' /etc/sysctl.conf

  为了方便配置程序的崩溃调试,编写coredump脚本如下
1#! /bin/bash
2# coredump
3
4sed -i '/ulimit -c unlimited|export core_path=/tmp/corefiles|mkdir -p $core_path|echo "0" > /proc/sys/kernel/core_uses_pid|echo "$core_path/%e" > /proc/sys/kernel/core_pattern/d' ~/.bashrc
5
6sed -i '$aulimit -c unlimitednexport core_path=/tmp/corefilesnmkdir -p $core_pathnecho "0" > /proc/sys/kernel/core_uses_pidnecho "$core_path/%e" > /proc/sys/kernel/core_pattern' ~/.bashrc

   从以上2个脚本可以看出,为避免每次调用脚本时增加重复行以致配置文件逐渐变大,先删除已经存在的相关配置,再在末尾增加。这里使用了sed来实现直接在文件中删除和增加,其中由于删除操作的匹配模式有多个,因此使用了|符号并用转义,并且第2个脚本模式文本中含有/符号,这与sed本身的模式限定符/存在歧义,因此也用了转义;增加使用$a命令来实现在文件末尾增加配置,并用n换行。


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复