分类 Linux 下的文章

Linux time_wait 过多的解决方法

今天在查看服务器负载时发现time_wait 非常的高

# netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
      1 established)
      1 State
      6 CLOSING
     11 LAST_ACK
     18 LISTEN
     19 FIN_WAIT1
     36 SYN_RECV
    205 FIN_WAIT2
    296 ESTABLISHED
   7202 TIME_WAIT

解决方法:

1、编辑 /etc/sysctl.conf 文件:

net.ipv4.tcp_syncookies = 1
#开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭

net.ipv4.tcp_tw_reuse = 1
#开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭

net.ipv4.tcp_tw_recycle = 1
#开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

net.ipv4.tcp_fin_timeout = 30
#修改系统默认的 TIMEOUT 时间

然后执行

/sbin/sysctl -p

使修改生效。

- 阅读剩余部分 -

iptables: Setting chains to policy ACCEPT: security raw nat[FAILED]filter

今天在配置Linode VPS上的Centos 6.4系统的防火墙的时候,遇到以下错误:

Setting chains to policy ACCEPT: security raw nat[FAILED]filter

原因是由于Linode官方在iptables里加了一个security的规则链,但Centos不支持。

解决方法:
编辑/etc/init.d/iptables,找到:

for i in $tables; do
    echo -n "$i "
    case "$i" in

在“case "$i" in”下面插入:

  security)
    $IPTABLES -t filter -P INPUT $policy \
        && $IPTABLES -t filter -P OUTPUT $policy \
        && $IPTABLES -t filter -P FORWARD $policy \
        || let ret+=1
    ;;

- 阅读剩余部分 -

CentOS查看CPU、内存、网络流量和磁盘 I/O

查看CPU使用情况的命令

每5秒刷新一次,最右侧有CPU的占用率的数据

vmstat 5

top 然后按Shift+P,按照进程CPU占用率排序

top

查看内存使用情况的命令

free
top
#然后按Shift+M, 按照进程内存占用率排序

查看网络流量

可以用工具iptraf工具

iptraf -g

查看磁盘i/o

用iostat查看磁盘/dev/sda1的磁盘i/o情况,每两秒刷新一次

iostat -d -x /dev/sda1 2

用vmstat查看io部分的信息,每两秒刷新一次

vmstat 2

- 阅读剩余部分 -

Linux下快速清空文件内容

应用场景:有时候我们需要清空某些文件的内容而并不删除该文件,如日志文件。
命令:

cat /dev/null >filename
#文件大小被截为0字节

>filename
#文件大小被截为0字节

: >filename
#文件大小被截为0字节

true filename
#文件大小被截为1字节

echo "" >filename
#文件大小被截为1字节

echo >filename
#文件大小被截为1字节