更新时间:2019年07月26日 10时56分07秒 来源:黑马程序员论坛
一、查看日志线上出现了问题,登上线上的机器查日志是非常常见的操作了。我第一次登上线上机器查日志的时候,我还只记得以下的几个命令(假设现在我们的日志文件叫做service.log):
如果是小文件的话,单纯的cat命令还是可以应付的,但如果你直接用cat命令打开一个1GB的日志文件,保证卡死你(ctrl + c退出cat命令需要很久才能将cat命令停下来)。
平时我还是很喜欢用vim去查找对应的记录的,我一般的操作:
面对比较大的日志文件,这我们就得配合grep来玩了,比如我们现在得知某个手机号收不到短信验证码,想要看一下这个手机号的日志是怎么样的。于是我们就可以这样搞:
现在我们已经能根据关键字搜到对应的记录了,接着我想看一下那条记录的日志上下文【这样就能知道这条数据大概的执行状态了】 首先,我们先要查出对应记录的行号,在cat 命令后面加上一个 -n 参数就好了。所以命令是:cat -n service.log | grep 13888888888 ,如下图我们就可以查到对应的行号了 现在行数是29506,我们一般只要看一下29506的前10行和后10行就差不多知道问题出现在哪了,于是我们可以这样做:
二、查进程和端口查进程有两个命令:
把进程查出来干嘛?知道它的进程ID了,我们可以把他给杀掉。
l:listening n:num t:tcp u:udp p:display PID/Program name for sockets查看当前所有tcp/udp端口的信息复制代码查看某个端口详细的信息:lsof -i:4000 三、查看系统的状态3.1 TOP实时查看进程的状态TOP命令查看进程的状态,其中有个load average可能不是那么好理解,下面来解释一下: load average:在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。 load average 有三个值,分别代表:1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。
3.2free查看内存使用状况linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化,内核会把剩余的内存申请为cached,而cached不属于free范畴。 如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。
相关阅读 |