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

November 10, 2022 · 1 min · BlackChen

CentOS 7 停止维护

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

August 17, 2022 · 1 min · BlackChen

生产环境日志查看方式总结

命令 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....

May 30, 2019 · 1 min · BlackChen

MySQL Explain

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....

April 4, 2019 · 7 min · BlackChen

平均负载 load averages 和uptime 命令

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% 的时候,就应该分析排查负载高的问题了....

April 4, 2019 · 1 min · BlackChen