-
Notifications
You must be signed in to change notification settings - Fork 2
/
nothing
221 lines (157 loc) · 6.69 KB
/
nothing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
## vendor/bin/phpunit --bootstrap tests/bootstrap.php tests
## rm -rf vendor/**/.git
## find vendor/ -type d -name ".git" -exec rm -rf {} \;
## 一个文件每行末尾增加一个相同的字符串,如 ","
## vim :%s/$/,
## 替换文件中所有关键词
## vim :%s/vipclub/new_word/g
##
##
sed 's/req=//g'
## mac
#alias killdns = "sudo killall -HUP mDNSResponder && sudo killall mDNSResponderHelper && sudo dscacheutil -flushcache";
# sudo killall -HUP mDNSResponder
# sudo killall mDNSResponderHelper
# sudo dscacheutil -flushcache
## 封 80
# iptables -A INPUT -p tcp --dport 80 -j DROP
## 开 80
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
## 查看规则
# iptables -L -nv
## 全清掉了
# iptables -F
# 或者清空具体的某行,获取行号,用 -D 参数
# iptables -L -n --line-numbers
# iptables -D INPUT 1
# tcpdump -vvvs 1024 -l -A host 172.25.160.19 -w /tmp/tcp.pcap [ -i any/eth0 ]
# (使用 Wireshark 打开 /tmp/tcp.pcap 后, 从菜单栏中,点击 Statistics -> Flow Graph,然后,在弹出的界面中的 Flow type 选择 TCP Flows,你可以更清晰的看到)
# netstat -n -p | grep SYN_REC (查看 TCP 半开连接的方法)
# netstat -lnpa | grep :20000 | awk '{print $6}' | sort | uniq -c | sort -rn ## 端口的连接状态统计
# ss -lnt | grep :9090
# State Recv-Q Send-Q Local Address:Port Peer Address:Port
# LISTEN 51 50 *:9090 *:*
# 对于 LISTEN 状态的套接字,Recv-Q 表示 accept 队列排队的连接个数,Send-Q 表示全连接队列(也就是 accept 队列)的总大小。
## 半连接队列:服务端收到客户端的 SYN 包,回复 SYN+ACK 但是还没有收到客户端 ACK 情况下,会将连接信息放入半连接队列。半连接队列又被称为 SYN 队列。
## 全连接队列:服务端完成了三次握手,但是还未被 accept 取走的连接队列。全连接队列又被称为 Accept 队列。
## 半连接队列的大小与用户 listen 传入的 backlog、net.core.somaxconn、net.core.somaxconn 都有关系
## 全连接队列的大小是用户 listen 传入的 backlog 与 net.core.somaxconn 的较小值
# 链接:https://juejin.cn/post/6844904071367753736
# -f表示跟踪子进程和子线程,-T表示显示系统调用的时长,-tt表示显示跟踪时间
# strace -f -T -tt -p 9085
# -e 选项指定 fdatasync
# strace -f -p 9085 -T -tt -e fdatasync
# sar -n DEV 1 5 网卡级别流量图
# sar -B -f /var/log/sa/sa20 -s 16:30:00 -e 17:00:00 查看 page cahce 指定时间段信息
# yum install iftop
## iftop -i eth0 -P
## ss -s
## netstat -s
## netstat -nlp | head -n 10
## ss -ltnp | head -n 10
# ethtool eth0 | grep Speed 查看网卡速度
```
ethtool eth0 | grep Speed
Speed: 1000Mb/s
```
cat /proc/slabinfo
## pagesize
```
cd /proc/1
grep -i pagesize smaps
```
## block size
```
stat -f .
```
# +trace表示开启跟踪查询# +nodnssec表示禁止DNS安全扩展$
# dig +trace +nodnssec time.geekbang.org
# nslookup -debug time.geekbang.org
## 添加
## chmod u+w /etc/sudoers
# cat /etc/sudoers
## 编辑 visudo — edit the sudoers file
## ssh-keygen -t rsa -C "xxxx@staff.com" -b 4096
## ssh-keygen -t rsa -C "aieruishi@gmail.com" -b 4096
## Code Line Statistics Tool
# cloc .
#看系统日志
# vim /var/log/messages
# 看内核日志
# dmesg
# tail -f /var/log/message
# tail -f /var/log/boot.log
##删除占用文件句柄的僵尸进程
#lsof /data1 | grep deleted | awk '{print $2}' | xargs kill -9
## for i in `ls`; do mv -f $i `echo "15_"$i`; done
## diff release git diff --name-status 1.0.0.1643 1.0.0.1645
## git diff 1.0.0.1643 1.0.0.1645
## git shortlog -e 1.0.0.1643...1.0.0.1645
# 查看60分钟内的log
#
## install base dev
## sudo yum -y install gcc gcc-c++ autoconf automake make
## find ./ -name ".zip" | xargs rm -rfv
## find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;
## find ./ -mtime +7 -name "*ihap-cc.log.202.*" -exec rm -rf {} \;
## git commit 修改提交 msg git
## git commit --amend
## 修改网关
## route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.75.15.1
## ethtool -i eth0
## 查看端口被哪个进程监听 sudo lsof -i :端口
## 查看进程监听的端口 sudo lsof -nP -p 进程号 | grep LISTEN 或者 sudo lsof -nP | grep LISTEN | grep 进程号
## 查看监听端口的进程 sudo lsof -nP | grep LISTEN | grep 端口号
## SSH 自动断线 无相应问题
## vim /etc/ssh/sshd_config
## ClientAliveInterval 30 // 每隔多少秒,服务器端向客户端发送心跳
## ClientAliveCountMax 6 // 多少次心跳无响应之后,会认为Client已经断开
## git upstream
## git clone git@github.com:aierui/talent-plan.git
## git remote add upstream git@github.com:pingcap/talent-plan.git
## git remote set-url --push upstream no_push // Never push to upstream master since you do not have write access.
## git remote -v // Confirm that your remotes make sense:
## git fetch upstream
## git checkout master
## git rebase upstream/master
## git checkout -b develop
## develop,debug,test and so on.
## Keep your branch in sync
## While on your myfeature branch.
## git fetch upstream
## git rebase upstream/master
## add and commit and push to origin develop
## sudo /bin/chmod +a 'user:yixiao:allow write' /etc/hosts
## charles register site:https://www.charles.ren/
## 设置 mac 消息提示显示时间
## 设置 defaults write com.apple.notificationcenterui bannerTime -int 1 单位秒
## 测试 osascript -e 'display notification "test notification!"'
## 移除旧的版本
## brew cleanup -n
## python -m SimpleHTTPServer 8098
## gcc -g -Wall -std=c++11
## 末行模式下 :
## 删除光标 后面 :,$d
## 删除光标 前面 :0,d
## 文本原本的粘贴到Vim中,以避免一些格式错误。通过“:set paste”和“:set nopaste”进入和退出该模式
## ps show thread name
## ps -eLl | head -1 ; ps -eLl | grep 23213
## or use htop, need setting F2-> display thread name
/etc/security/limits.conf
sodo soft nproc 1000000
sodo hard nproc 1000000
sodo soft nofile 1000000
sodo hard nofile 1000000
# 找到某个进程 FD 突然上升 来源IP
lsof -nP -p 107169 > all.log (整机 netstat > all.log)
cat all.log |grep '100.90.232.52' | awk -F '->' '{print $2}' | awk -F ':' '{print $1}' | sort | uniq -c | sort -nr | head
cat all.log | awk '{print $5}'|awk -F':' '{print $1}'|sort |uniq -c|sort -nr
若希望保持长连接,需要做如下修改:
1、打开ssh配置文件:
# vim /etc/ssh/sshd_config
加入如下两个参数保存就可以:
TCPKeepAlive yes
ClientAliveCountMax 360
注:前一个参数表示要保持TCP连接,后一个参数表示客户端的SSH连接闲置多长时间后自动终止连接的数值,单位为分钟。
2、重启sshd生效:
/etc/init.d/sshd restart