【Azure Cloud Service】在Azure云服务中收集CPU监控指标和IIS进程的DUMP方法

本文涉及的产品
云原生网关 MSE Higress,422元/月
函数计算FC,每月15万CU 3个月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 在使用Cloud Service服务时,发现服务的CPU占用很高,在业务请求并不大的情况下,需要直到到底是什么进程占用了大量的CPU资源,已经如何获取IIS进程(w3wp.exe)的DUMP文件?

问题描述

在使用Cloud Service服务时,发现服务的CPU占用很高,在业务请求并不大的情况下,需要直到到底是什么进程占用了大量的CPU资源,已经如何获取IIS进程(w3wp.exe)的DUMP文件?

 

问题解答

一:收集云服务中CPU的性能数据

远程登录(RDP)到云服务的实例上,使用管理员身份运行以下命令:

Logman.exe create counter Perf-1Minute

  -f bincirc

  -max 500

  -c "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\Cache\*"

  -si 00:01:00

  -o C:\PerfMonLogs\Perf-1Minute.blg


Logman start Perf-1Minute


  • 该命令会每隔1分钟收集一次系统性能日志,满500MB会自动覆盖之前的日志。
  • 请根据各磁盘空间大小来判断将该日志存储到哪个分区,默认为C:\PerfMonLogs文件夹。
  • 期间不要重启机器,如果重启了机器,请重新收集.
  • 可以使用使用指令停止Performance Monitor:Logman stop Perf-1Minute


收集完成,打开 C:\PerfMonLogs\Perf-1Minute.blg文件,可查看每一个进程对CPU资源的占用情况,如下图:

 

二:收集IIS进程Dump文件

1:抓取w3wp的进程dump,下载抓取工具:ProcDump - Sysinternals | Microsoft Learn

执行 procdump 命令


procdump -accepteula -ma -n 5 -s 5 w3wp.exe 


这个指令会间隔5秒,连续抓取五次 (Dump文件的大小取决于应用对Memory的占用,可能高达几个GB的大小)

Use the -accepteula command line option to automatically accept the Sysinternals license agreement.

-ma :Write a 'Full' dump file.Includes all memory (Image, Mapped and Private). Includes all metadata (Process, Thread, Module, Handle, Address Space, etc.).

-n :Number of dumps to write before exiting.

-s :Consecutive seconds before dump is written (default is 10).

 

参考资料

ProcDump : https://learn.microsoft.com/en-us/sysinternals/downloads/procdump#using-procdump

logman : https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/logman

 

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
3月前
|
安全 C#
【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
147 1
|
3月前
|
数据安全/隐私保护 异构计算 Windows
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
|
3月前
|
API 网络架构
【Azure 云服务】查看Azure云服务在中国区域的VM型号大小列表(型号编码,定价层,以及CPU, Memory等)
【Azure 云服务】查看Azure云服务在中国区域的VM型号大小列表(型号编码,定价层,以及CPU, Memory等)
|
3月前
|
开发框架 JavaScript Java
【Azure 应用服务】Azure App Service多实例中,出现某一个实例CPU居高不下的情况,如何重启单个实例呢?
【Azure 应用服务】Azure App Service多实例中,出现某一个实例CPU居高不下的情况,如何重启单个实例呢?
|
5月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
126 13
|
4月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
4月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
167 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
3月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
4月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
171 1
|
4月前
|
小程序 Linux
【编程小实验】利用Linux fork()与文件I/O:父进程与子进程协同实现高效cp命令(前半文件与后半文件并行复制)
这个小程序是在文件IO的基础上去结合父子进程的一个使用,利用父子进程相互独立的特点实现对数据不同的操作
105 2