systemctl list-units | grep running
service --status-all
nysysv //图形化
//查看所有运行服务
调整修改文件描述符限制
在Linux 系统中,所有东西都可以看成是文件,文件又可分为普通文件、目录文件、
链接文件和设备文件。文件描述符是内核为了高效管理已被打开的文件所创建的索引,是
一个非负整数(通常是小整数),用于指代被打开的文件,所有执行1/0 操作的系统调用都
通过文件描述符。程序刚刚启动的时候,0是标准输入, 1 是标准输出, 2 是标准错误。如
果此时去打开一个新的文件,它的文件描述符会是3 。大家在运行Linux 系统下的服务应用
时(例如Squid 服务),打开的文件太多就会提示“ Too many open files ,,,出现这句提示的
原因是程序打开的文件连接数量超过系统设定值。这主要是因为文件描述符是系统的一个
重要资源,虽然说系统内存有多少就可以打开多少的文件描述符,但是在实际实现过程中
内核会做相应的处理,一般最大打开文件数会是系统内存的10% (以阻来计算)(称之为系
统级限制,比如4G 内存的机器可以为419430 ) ,查看系统级别的最大打开文件数可以使用
sysctl -a I grep fs.file-max 命令查看。与此同时,内核为了不让某一个进程消耗掉所有的文
件资源,它也会对单个进程最大打开文件数做默认值处理(称之为用户级限制),默认值一
般是1024 ,可以使用ulimit -n 命令查看。
sysctl -a | grep file-max //查看系统最大允许打开文件数
cat /proc/6378/limits //查看进程,最大打开文件数
Linux 文件默认有3 个时间,如下所示:
atime :对此文件的Access (访问)时间。
ctime :此文件inode 发生Change (状态变化)的时间。
mtime :此文件的Modify (修改)时间。
在/etc/fstab中新增noatime和nodirtime参数,这样文件被访问时就不会再产生写磁盘I/O。
/dev/sda5 /data/pics ext3 noatime,nodiratime 0 0
netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'
//统计tcp连接数量
[root@localhost ~]# ((dict[$tmp]++))
[root@localhost ~]# echo ${dict[$tmp]}
3 //shell字典
命令中的含义分别如下:
CLOSED :无连接是活动的或正在进行中。
LISTEN :服务器在等待进入呼叫。
SYN RECV : 一个连接请求已经到达,等待确认o
SYN SENT :应用已经开始,打开一个连接。
ESTABLISHED :正常数据传输状态。
FIN WAIT! :应用说它已经完成。
FIN WAIT2 :另一边已同意释放。
TIMED WAIT :等待所有分组死掉。
CLOSING :两边同时尝试关闭。
TIME WAIT :另一边已初始化一个释放。
LAST ACK :等待所有分组死掉。