文件描述符:

ulimit -n         查看文件描述符

/etc/security/limits.conf    修改文件描述符


nginx:

last   重写后的地址重新交到 server 中

break 将重写后的地址继续往下执行


find:

find ./ -type f -mtime +10 -exec rm -f {} \;

         -size +100m

        -name "*.log"


wc

-c     统计字节数

-l     统计行数

-m   统计字符数

-w    统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串


top交互命令

1     显示多核CPU

h     显示top交互命令帮助信息

c     显示长命令

M    内存使用率排序

P     CPU使用排序

T     累计CPU时长排序

W    将当前设置写入~/.toprc文件中

o或者O 改变显示项目的顺序

16292545846093_upload.png

top -H -p <pid> 查看子进程

top -c  显示进程的运行命令


设置运行级别文件:/etc/inittab

Linux共有七种执行等级:

--run level 0 :关机

--run level 3 :纯文本模式

--run level 5 :含有图形接口模式

--run level 6 :重新启动


常用命令:

basename    取路径名

dirname       取文件名

umask   查看mask值

chattr    配置文件档案隐藏属性

file         查看文件类型

which    查看命令路径

traceroute scriptjc.com  查看所经历的路由

uname -r   查看版本信息等


用户和权限:

chgrp
chown
chmod
groupadd group_name 创建一个新用户组 
groupdel group_name 删除一个用户组 
groupmod -n new_group_name old_group_name 重命名一个用户组 
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户 
userdel -r user1 删除一个用户 ( '-r' 排除主目录) 
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 
chage -E 2005-12-31 user1 设置用户口令的失效期限 
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 
grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组 
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组


文件权限与属性:

chattr  # change attribute
    +a filename 只允许以追加方式读写文件
    +c filename 允许这个文件能被内核自动压缩/解压
    +d filename 在进行文件系统备份时,dump程序将忽略这个文件
    +i filename 设置成不可变的文件,不能被删除、修改、重命名或者链接
    +s filename 允许一个文件被安全地删除
    +S filename 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
    +u filename 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr [filename]  显示特殊的属性


ps 

-ef    e 所有进程,f 输出UID,PPIP,C 与 STIME 栏位

aux   a 和终端相关的进程,x和终端无关的进程,u以用户为中心


isof  list of open files

lsof -i :9100

lsof -n | wc -l


ss

ss -s  #列出各种协议的连接数


统计80端口连接数

netstat -nat | grep -i "80" | wc -l

统计httpd协议连接数

ps -ef | grep httpd | wc -l

统计已连接上的,状态为 established(已连接的)

netstat -anp | grep ESTABLISHED | wc -l


DNS解析工具:

dig www.123.com 



挂载:

mount  /dev/cdrom /tmp


RAID:将多块硬盘按照某种格式组织起来当一块设备使用的技术,提高IO能力,耐用性。

RAID0  速度快,并发IO,无数据冗余功能(至少2块)

RAID1  磁盘镜像,写慢,读块,有容错(至少2块)容量1/2

RAID2  海明码校验

RAID4  其中一个磁盘存储校验码用来做异或运算,校验盘读压力大,有容错(至少3块)容量n-1

RAID5  校验码轮询存放,分散读取压力,有容错(至少3块)容量n-1

RAID6  两块存数据,两块存校验码,有容错(至少4块)容量n-2

RAID10 RAID1 + RAID0 先做RAID1再做RAID0,(至少4块)容量1/2

15504964908717_upload.png

每组两两互为镜像,每组可以坏一个,RAID10更实用

RAID01 RAID0 + RAID1 十块硬盘5个一组做成两组RAID0,再把这两组做成RAID1


TOP10:

gawk -F ' ' '{print $1}' chuxiangyi.log | sort | uniq -c | sort -k1nr | head -20

查看磁盘IO:

iostat -x 1 10

vmstat 1  # 后面的1表示刷新时间

        bi: 读取速率(kb/s)

        bo:保存速率(kb/s)

iostat -k

-k 以KB显示

-m 以MB显示

-x 显示扩展选项


rsync: 只传送文件之间不同的部分

rsync -av src/ dest/

rsync -av src dest/

rsync -av IP:/data/test/src/ dest/ --远程同步至本地,需输入root密码

rsync -av src/ IP:/data/test/dest/ --本地文件同步至远程

        -a    递归方式传输文件
        -v    显示


JVM设置:

JAVA_OPTS="-server -Xms1024m -Xmx2018m -XX:PermSize=256m -XX:MaxPermSize=512m"

这一项需要在catalina.sh的首行

Xms:堆内存初始大小

Xmx:堆内存上线

XX:PermSize:非堆内存初始大小

XX:MaxPermSize:非堆内存上限


lvm:

pvcreate /dev/sdb1    创建多个pv

vgcreate vg1 /dev/sdb1    创建vg

vgextend vg1 /dev/sdb5    扩展vg

lvcreate -L 2G -n lv1 vg1创建lv, -L 大小 -n lvname vgname

mke2fs -t ext4 /dev/mapper/vg1-lv1

mount /dev/mapper/vg1-lv1 /mnt/

参考: scriptjc.com/article/824 


三次握手:

client: SYN=1

server: ACK=1

client: ACK=1


四次挥手:

client: FIN=1

server: ACK=1

server: FIN=1

client: ACK=1



TIME_WAIT

原因:

        TIME_WAIT 是主动关闭连接的一方保持的状态,像 nginx、爬虫服务器,经常发生大量处于time_wait状态的连接。TCP 一般在主动关闭连接后,会等待 2MS,然后彻底关闭连接。由于 HTTP 使用了 TCP 协议,所以在这些频繁开关TCP连接的服务器上,就积压了非常多的 TIME_WAIT 状态连接。

查看:ss -s

解决:

vim /etc/sysctl.conf

# 修改阈值

net.ipv4.tcp_max_tw_buckets = 50000

# 表示开启TCP连接中TIME-WAIT sockets的快速回收

net.ipv4.tcp_tw_reuse = 1

#启用timewait 快速回收。这个一定要开启,默认是关闭的。net.ipv4.tcp_tw_recycle= 1   

# 修改系統默认的TIMEOUT时间,默认是60s

net.ipv4.tcp_fin_timeout = 10


CLOSE_WAIT

CLOSE_WAIT一般是由于对端主动关闭,一般是程序问题。


查看某个进程的环境变量:

cat /proc/1234/environ



spec.lifecycle.postStart:容器创建完成之后执行

spec.lifecycle.preStop:容器结束之前运行

readinessProbe:就绪性探测

livenessProbe:存活性探测


大B小b:byte 和 bit 

1KB/s=8Kbps


ifconfig:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 10.2.70.223  netmask 255.255.255.0  broadcast 10.2.70.255

        ether 00:16:3e:0b:62:16  txqueuelen 1000  (Ethernet)

        RX packets 239273466  bytes 250522326943 (233.3 GiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 86043927  bytes 84381884814 (78.5 GiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Receiver       接收

Transmitter  发送


根据进程ID查找程序路径:

ls -al /proc/<PID>/exe