`
jackyIT
  • 浏览: 14118 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

服务调试命令

 
阅读更多
随着流量增大很多scf服务会出现问题,以下一些排查方式可以做为参考,虽然都是很简单的命令但当服务出问题的时候可以快速的定位(非scf服务也可以借鉴)

一.查看系统负载 cpu mem io load average ... 这些信息都可以通过 top, iostat, ifstat, jstat, xxstat... 命令来查看

二.查看服务进程情况

1.进程cpu占用情况:

    按cpu占用率排序:

ps Hh -eo pid,tid,pcpu |sort -nk3|tail

    定位哪个线程占用cpu

top -> shift + h 列出线程列表(这里看到的tid是10进制的)
shift + t 按照time排序
jstack pid(进程号) > 输出到文件
然后去找16进制的线程号

    jstack命令

jstack 12345 > jstack_dump

    pstree查看进程的所有线程

pstree 12345

2.mem使用情况

    top命令

    查看java进程占用内存情况

通过jmap输出的内容可以查看是否有内存"泄露"的问题,哪个实例占的资源多 jmap 还可以把整个进程的内存dump出来

jmap –histo 12345 > mem_dump

    查看gc情况:

jstat –gcutil pid 时间间隔(详细使用见附件)

jstat –gcutil 12345 1000


3.文件打开情况(linux下所有东西都是文件)

    lsof

例: lsof –p pid |wc –l 查看进程打开的文件数, 这条命令可以查看程序中是否有资源没有关闭如:socket file .... java服务中常用的httpclient很容易忘记关闭,通过该命令可以快速定位

lsof -p 12345 |wc -l


4.查看网络情况

    netstat(详细使用见附件,这条命令很无敌)

例:查看16003端口的连接数:

netstat –na|grep 16003|wc –l

列出所有连接16003的每个ip的连接数

netstat -an|grep 16003|awk '{print $5}'|awk -F : '{print $4}'|sort|uniq -c

输出结果:

1 *

2 10.3.12.15
4 10.3.12.20
3 192.168.10.22
3 192.168.10.23


3 192.168.10.24

    tcpdump

#只显示来源和目的端口为80的TCP分节
tcpdump 'tcp and port 80'

#只显示来源和目的端口为80,并且设置了SYN标志的TCP分节
tcpdump 'tcp and port 80 and tcp[13:1] & 2 != 0'

#只显示来源端口为7001~7005之间的TCP分节
tcpdump 'tcp and tcp[0:2]>7000 and tcp[0:2]<=7005'

    telnet

#抓http包
telnet 10.58.120.118 80 > http_dump
GET /test/n_16170701962244.jpg HTTP/1.1
Host: pic.58.com
Connection: Keep-Alive

#scf状态监控

#交互式
telnet 10.58.120.110 26003 > 26003_dump
count

#管道式
(echo -e "count";sleep 10)|telnet 10.58.120.110 26003

#通过linux的fd进行网络通讯
exec 6<>/dev/tcp/10.58.120.110/26003 #连接10.58.120.110:26003关联的fd=6
echo -e "count">&6 #写count
cat<&6 #查看接收的结果
exec 6>&- #关闭输入输出流
exec 6<&-
分享到:
评论

相关推荐

    GDB调试命令大全

    ### GDB调试命令大全 #### 一、简介 GDB(GNU Debugger)是GNU项目下的一款强大的源代码级调试器,主要用于调试C/C++程序。本文档将详细介绍一系列GDB命令,帮助开发者更好地理解和掌握GDB的使用方法,提高调试...

    Windbg 调试命令(内核+用户态程序)

    本篇将深入探讨Windbg的一些核心调试命令,包括内核模式和用户模式程序的调试。 1. **基本调试操作** - `g`: 继续执行被调试的进程,直到下一个断点或异常。 - `k`: 显示当前调用堆栈,包括函数地址、返回地址和...

    使用串口调试助手调试AT命令发送短信

    在使用串口调试助手调试AT命令发送短信的过程中,有几个关键知识点需要掌握,这些知识点包括对PDU模式的理解、PDU编码规则以及如何正确通过串口助手发送短信。 1. PDU编码模式: PDU(Protocol Data Unit)模式是...

    ppp拨号调试命令

    ### PPP 拨号调试命令详解 #### 一、引言 PPP (Point-to-Point Protocol) 是一种在同步或异步线路上对数据包进行封装的数据链路层协议,主要用于通过拨号或其他方式建立点对点连接的服务,提供一种标准方法传输多...

    cisco路由器调试命令

    Cisco路由器调试命令是网络管理员和IT专业人员在管理和维护网络基础设施时常用的工具。这些命令允许用户监控路由器的状态、配置网络服务、诊断问题以及优化网络性能。以下是一些重要的Cisco路由器调试命令的详细解释...

    epon调试命令.pdf

    文档中提供的内容主要涉及EPON(以太网无源光网络)调试命令的配置和操作。EPON是基于以太网技术的PON技术...通过这些调试命令的使用,可以对EPON网络中的OLT和ONU设备进行精细控制,从而保证网络的稳定性和服务质量。

    思科调试命令集成,它涵盖了大多数思科命令。

    思科作为网络设备的主要供应商,其设备提供了丰富的调试命令,这里我们将探讨一些关键的命令和概念。 首先,针对交换机的第3层交换失效问题,可以使用`set mls enable`命令来启用MLS(多层交换)。例如,`switch...

    服务器调试文档...doc

    2. 负载服务器:停止相关服务,修改my.ini配置,启动服务,拷贝mysqldump.exe文件,导入数据库文件,运行Import.bat,最后进行数据同步状态的检查。 在负载服务器数据库操作中,需要停止数据同步,更改主服务器的...

    无法在web服务器上启动调试。服务器因语法无效而未能处理调试请求。

    在解决“无法在Web服务器上启动调试。服务器因语法无效而未能处理调试请求。”的问题时,我们需要考虑多个方面。这个问题可能是由于多种原因造成的,包括但不限于以下几点: 1. **ASP.NET或ATL Server设置**:首先...

    使用windbg进行双机内核调试

    8. **日志记录**:使用`.logopen`和`.logclose`命令打开和关闭调试日志,`.logappend`添加内容到现有日志,这对于后期分析很有帮助。 9. **结束调试**:完成调试后,使用`q`命令退出Windbg。 双机内核调试是一项...

    汇编-第一课(调试命令).pdf

    ### 汇编语言调试命令详解 #### 一、引言 在计算机科学领域,特别是低层编程技术中,汇编语言占据着重要的地位。它不仅能够帮助开发者更精细地控制计算机硬件,还能够在需要高性能优化的应用场景下发挥巨大作用。...

    计算机网络调试-ipconfig命令是调试计算机网络的常用命令.pdf

    计算机网络调试-ipconfig命令是调试计算机网络的常用命令 本文将介绍ipconfig命令的使用方法和参数说明,以便更好地调试计算机网络。 一、ipconfig命令的使用方法 ipconfig命令是Windows操作系统中的一种命令行...

    Android笔记之:App调试的几个命令的实践与分析

    本文将介绍几个在Android中常用的App调试命令及其实践应用。 首先,`logcat`是Android开发者最熟悉的命令之一,用于查看设备或模拟器的日志输出。通过`adb logcat -v time`,我们可以获取带有时间戳的日志,这对于...

    常用网络调试命令[文].pdf

    本文将详细介绍一些常用的Windows网络调试命令,帮助开发者更好地理解和解决问题。 1. **ipconfig /all**: 此命令用于查看系统的网络配置信息,包括IP地址、子网掩码、默认网关、DNS服务器等。这对于排查网络连接...

    CMD 编程调试命令增强版 JP Software CMDebug 25.00.26 + x64.zip

    CMD 编程调试命令增强版 JP Software CMDebug 25 中文版CMD 编程调试命令增强版 JP Software CMDebug 25 中文版 CMDebug 汉化版功能 使用集成的图形化 IDE 创建和调试批处理脚本。 IDE 包括选项卡式编辑窗口和具有...

    linux调试命令[文].pdf

    总之,Linux调试命令和软件管理是Linux环境中不可或缺的技能。熟悉这些命令和流程,能够使开发者更加高效地在Linux系统上开发和维护软件。通过掌握`mount`、`umount`、`gzip`、`tar`、`make`、`configure`等命令,...

    无法在WEB服务器调试问题解决

    ### 无法在WEB服务器调试问题解决 #### 一、概述 在进行Web开发时,开发者经常会遇到无法在Web服务器上进行调试的问题。这类问题可能由多种因素引起,包括但不限于配置错误、权限设置不当、环境变量缺失等。本文将...

    Windows服务和应用程序(方便调试)基础模型

    这可能是一个批处理脚本(如removejunk.bat),它包含了一些命令来执行服务的安装、卸载和启动操作。批处理文件在开发流程中非常有用,可以自动化重复的任务,节省时间。 Win8MetroOperService.sln和Win8...

    C# VS 2010 创建、安装、调试 windows服务(windows service)

    4. 打开命令提示符,使用管理员权限运行,然后输入`installutil.exe [服务可执行文件路径]`,例如`installutil.exe WindowsService1.exe`。 **调试Windows服务** 1. 右键点击服务项目,选择"属性"。 2. 在"启动动作...

    linux命令行调试邮件服务器文档

    在Linux环境中,调试邮件服务器是系统管理员日常工作中的一项重要任务,尤其对于排查邮件发送问题、监控服务器性能和确保邮件服务的稳定运行至关重要。本篇文档将详细介绍如何利用Linux命令行工具来诊断和调试邮件...

Global site tag (gtag.js) - Google Analytics