Litao OK Blog

A little blog for my life.

Linux常用命令

1. 进程和内存占用查看

1
2
ps axo pid,comm,rss,vsz,sz,size | grep 进程名称
ps axo pid,comm,rss,vsz | grep 进程名称
  • 说明:
    • rss: 进程在物理内存中实际驻留的大小,即进程占用的物理内存大小,这里面包含了共享内存的大小(比如各种共享lib库的内存占用)
    • vsz: 进程的虚拟地址空间,这是程序运行可能占用到的大小,它一般比 实际占用的 大小(rss)要大
    • sz: 我们算一下 27924/4 正好是6918 ,这个值是虚拟地址空间对应的系统页的个数,当然实际可能没有分配这么多页个进程,默认系统页大小是4096B ,如果我们更改了系统的页大小,这里也会相应改变
    • size: 进程可能申请的swap 的大小,当然物理rom 没有用光之前,这个值没有什么意义

2. 查看监听端口

1
netstat -pnta

3. 结合netstat和awk命令来统计网络连接数,两种方法

1
2
3
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'

4. 去除配置文件注释和空行

1
grep -v ^#  redis.conf | grep -v ^$ > redis.conf.new

5. iptables常用设置 (CentOS)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 或者 iptables -I INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -m tcp -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 6379 -m tcp -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -P INPUT DROP

# 查看所有已经设置的规则,显示行号
iptables -L --line-numbers -n

# 按照行号删除某一个INPUT规则
iptables -D INPUT 行号

保存:
/etc/init.d/iptables save

6. SYN flooding攻击,防火墙配置

1
2
3
4
iptables -N SYN_Flood
iptables -A INPUT -p tcp --syn -j SYN_Flood
iptables -A SYN_Flood -m limit --limit 1000/s --limit-burst 3000 -j RETURN
iptables -A SYN_Flood -j DROP

7. 创建用户

1
adduser

8. 内存清理

1
echo 1 > /proc/sys/vm/drop_caches

9. Mac OS X 某些服务器启动

1) mysql-server

1
mysql.server start

2) memcached

1
/usr/local/bin/memcached -d -m 100  -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

10. 连接数过大影响SSH登录修改参数:

修改 /etc/sysctl.conf

1
2
net.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_max = 1048576

12. 给用户添加更多组权限

1
usermod -G coobrowser nginx  

说明: 将用户nginx添加到coobrowser组中,即nginx除了属于原来nginx组,还属于coobrowser组,方便nginx用户访问coobrowser组的资源,需要将coobrowser组的目录设置成710以上权限,文件设置成640以上权限。