当前位置: 首页 > 科技观察

Linux服务器排查思路和常用命令

时间:2023-03-13 07:12:10 科技观察

作为一个合格的开发者,尤其是后端同学,经常会遇到各种各样的问题。内存问题free命令用于检查内存使用情况。在Linux上,很多人会用top来显示系统内存,但是不够直观。Top通常用于查看CPU使用率。Linux下查看内容的专用工具是free命令。各指标含义如下:total:总物理内存大小;used:已用内存大小;free:可用内存大小;shared:多个进程共享的总内存;buff/cached:磁盘缓存大小;available:应用程序可以使用的物理内存大小。free和available的区别free是真正未使用的物理内存大小,available是应用的可用内存大小available≈free+buffer+cacheCPU问题除了使用top命令,我们还可以使用更直观的pidstat命令.一般我们关注PID和%CPU是两个指标。磁盘IO异常问题iotop命令可以用来查看正在写入磁盘的进程ID信息,可以帮助我们找到导致磁盘IO异常的进程。如果各项指标都很低,可能是系统盘有问题。可以使用dmesg命令查看系统信息:如果磁盘已满,找到对应的文件,按照以下思路删除:1、找到最大的5个目录du-hm/--max-depth=1|排序编号|head-52。在当前目录查找大于1G的文件find.-typef-size+1000M3。如果发现nginx日志access.log,那么我们可能要清除对应的日志文件echo"">access.log.log很多人的第一反应是使用rm命令rm-rfaccess.log虽然rm可以删除文件,有时空间不会立即释放。例如,在这个例子中,nginx服务仍在运行,除非服务被重新启动。查看压缩备份日志bzgrep'192.168.1.100'access-2020-04-06.log为什么要用bzgrep,因为解压后需要很长时间才能查看。查看网站的并发连接数,比如Nginx的并发连接数,这样我们就可以了解网站的负载情况。执行如下命令:netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'结果:ESTABLISHED的个数为当前并发数连接。流量统计很多时候网站会遇到恶意攻击,我们需要找到有问题的IP并封禁。查询最常访问的IPawk'{print$1}'access-2020-04-06.log|sort|uniq-c|sort-n-k1-r|more等其他需求根据访问IP的UVawk统计'{print$1}'access-2020-04-06.log|sort|uniq-c|wc-l