Linux 查看端口号被哪个进程占用
方法一 lsof -i:端口号 1 2 3 [root@node3 minio]# lsof -i:30009 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME kube-prox 3373 root 18u IPv4 54025 0t0 TCP *:30009 (LISTEN) 方法二 netstat -tunlp 1 netstat -tunlp | grep 30009
方法一 lsof -i:端口号 1 2 3 [root@node3 minio]# lsof -i:30009 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME kube-prox 3373 root 18u IPv4 54025 0t0 TCP *:30009 (LISTEN) 方法二 netstat -tunlp 1 netstat -tunlp | grep 30009
CentOS 目前现状 目前使用操作系统为CentOS7. 于2024年6月30日停止维护 CentOS官方已计划停止维护CentOS Linux项目 背景信息 2020年12月08日,CentOS官方宣布了停止维护CentOS Linux的计划,并推出了CentOS Stream项目。更多信息,请参见CentOS官方公告。CentOS计划把Red Hat Enterprise Linux(RHEL)的复刻版本CentOS Linux转向CentOS Stream,因此对CentOS Linux存在以下影响: CentOS Linux 7作为RHEL 7的复刻版本于2020年08月06日停止更新,但会延续当前的支持计划,于2024年6月30日停止维护(EOL)。 CentOS Linux 8作为RHEL 8的复刻版本,生命周期缩短,于2021年12月31日停止更新并停止维护(EOL)。 CentOS官方不再提供CentOS Linux 9及后续版本,而是提供CentOS Stream版本。 Linux 发行版历史 如何应对 CentOS Linux停止维护后如何应对 操作系统停止支持计划 其他Linux 发行版选择 AlmaLinux Rocky Linux Ubuntu 国产Linux Anolis OS
命令 cat tail less head tac grep more sed vim 常用方式 实时查看最新日志 1 tail -f info.log 使用vim查看日志 小文件可以使用vim打开, 大文件打开会十分消耗内存. 不建议使用vim打开大文件. 先使用du 命令查看文件大小 小文件使用vim查看 1 2 3 4 [root@monitor-4723 umc-job]# du -h info.log 5.7M info.log [root@monitor-4723 umc-job]# vim info.log 查看某一时间段的日志 通过sed命令可以找出某一时间段的日志 筛选 时间为16:10:01 - 16:10:59 的日志. 1 sed -n '/2019-05-30 16:10:01/,/2019-05-30 16:10:59/p' info.log 筛选日志 grep 显示info.log文件里匹配rabbitMq那行以及上下5行 1 cat info.log | grep -C 5 'rabbitMq' 显示info.log文件里匹配rabbitMq那行以及上5行 1 cat info.log | grep -B 5 'rabbitMq' 显示info....
Explain 输出中的行,以MySQL实际执行的查询部分顺序出现,而这个顺序,不总是与其在原始SQL中的一致 1 2 3 4 5 +----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+ | 1 | SIMPLE | t_store | range | PRIMARY | PRIMARY | 8 | NULL | 9 | Using where | +----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+ ID列 这一列包含一个编号,标识SELECT所属的行. 如果在语句中没有子查询,或者联合查询,那么只会有唯一的SELECT,否则内层的SELECT语句一般会顺序编号,对应其在原始语句中的位置. 1 2 3 4 5 6 7 8 9 10 11 12 mysql> EXPLAIN SELECT * FROM (SELECT id FROM t_store) AS ts WHERE ts....
uptime 每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统 的负载情况 1 2 $ uptime 22:33 up 1 day, 12:20, 4 users, load averages: 1.92 2.56 3.43 每列含义 22:33 当前时间 up 1 day,12:20 系统运行时间 4 users 正在登录用户数 load averages: 1.92 2.56 3.43 是过去 1 分钟、5 分钟、15 分钟的平均负载 平均负载 平均负载是指单位时间内,系统处于可运行状态(CPU正在处理)和不可中断状态(等待CPU处理)的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。 既然平均的是活跃进程数,那么最理想的,就是每个 CPU 上都刚好运行着一个进程,这样每个 CPU 都得到了充分利用. 例如: 当平均负载为 2时 在只有 2 个 CPU 的系统上,意味着所有的 CPU 都刚好被完全占用。 在 4 个 CPU 的系统上,意味着 CPU 有 50% 的空闲 而在只有 1 个 CPU 的系统中,则意味着有一半的进程竞争不到 CPU。 负载为多少是合理的 获取当前CPU个数 $ grep 'model name' /proc/cpuinfo | wc -l 当平均负载比 CPU 个数还大的时候,系统已经出现了过载。 观察1分钟,5分钟,15分钟的情况 如果 1 分钟、5 分钟、15 分钟的三个值基本相同,或者相差不大,那就说明系统负载很平稳。 但如果 1 分钟的值远小于 15 分钟的值,就说明系统最近 1 分钟的负载在减少,而过去 15分钟内却有很大的负载。 如果 1 分钟的值远大于 15 分钟的值,就说明最近 1 分钟的负载在增加,这种增加有可能只是临时性的,也有可能还会持续增加下去,所以就需要持续观察。一旦 1 分钟的平均负载接近或超过了 CPU 的个数,就意味着系统正在发生过载的问题,这时就得分析调查是哪里导致的问题,并要想办法优化了 经验 当平均负载高于 CPU 数量 70% 的时候,就应该分析排查负载高的问题了....