- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 通过IAM授予使用ECS的权限
- 实例
- 回收站管理(公测)
- 镜像管理
- 磁盘管理
- 弹性网卡管理
- 弹性公网IP管理
- 安全管理
- 备份管理
- 密码和密钥对管理
- 启动模板管理
- 智能购买组管理
- 事件管理
- 操作系统dump管理
- 自助运维管理
- 资源与标签
- 使用CES监控ECS
- 使用CTS审计ECS操作事件
- QingTian Enclave管理
-
最佳实践
- ECS最佳实践汇总
- ECS搭建网站入门
- ECS自助建站汇总
- 弹性云服务器配置最佳实践
- 搭建环境
- 搭建网站
- 搭建应用
- 云服务器安全
- 云服务器迁移
- 在ECS上通过内网访问OBS
- 本地盘使用最佳实践
- 使用VNC Viewer连接Linux云服务器
-
API参考
- 使用前必读
- API概览
- API版本选择建议
- 如何调用API
- API
- 应用示例
- 数据结构
- 权限和授权项
- 公共参数
-
历史API
- 状态管理
- 规格管理
- 网卡管理
- 磁盘管理
- 标签管理
- 密码管理
- FPGA逻辑文件管理
- 查询API版本信息(OpenStack Nova API)
- 生命周期管理(OpenStack Nova API)
- 状态管理(OpenStack Nova API)
- 网络管理(OpenStack Nova API)
- 镜像管理(OpenStack Nova API)
- 安全组管理(OpenStack Nova API)
- 规格管理(OpenStack Nova API)
- 网卡管理(OpenStack Nova API)
- 磁盘管理(OpenStack Nova API)
- 元数据管理(OpenStack Nova API)
- 租户配额管理(OpenStack Nova API)
- 密钥、密码管理(OpenStack Nova API)
- 云服务器组管理(OpenStack Nova API)
- 云服务器操作管理(OpenStack Nova API)
- 云服务器控制台管理(OpenStack Nova API)
- 可用区(OpenStack Nova API)
- 标签管理(OpenStack Nova API)
- 浮动IP管理(OpenStack Nova API)
- 快照管理(OpenStack Nova API)
- 附录
- SDK参考
- 场景代码示例
-
常见问题
- 高频常见问题
- 产品咨询
-
ECS创建
- 找不到我的弹性云服务器资源怎么办?
- 购买云服务器资源提示售罄怎么办?
- 批量购买弹性云服务器时报错:请排查子网是否绑定了企业路由
- 创建多台云服务器时怎样设置有序的云服务器名称?
- 什么是云服务器的创建时间和启动时间?
- 为什么创建弹性云服务器的任务失败,但是在列表中显示创建成功?
- 弹性云服务器在什么时候进入开通状态?
- 支付成功后为什么不能马上看到创建中的弹性云服务器?
- 如何处理支付订单后云服务器开通失败?
- 使用整机镜像创建云服务器速度很慢,怎么办?
- 购买弹性云服务器选错镜像怎么办?
- Windows或Linux操作系统镜像怎么选?
- 申请开通弹性云服务器需要多久?
- 如何实现对弹性云服务器的分组管理?
- 购买云服务器时配置“反亲和性”云服务器组,提示失败怎么办?
- ECS删除与退订
-
远程登录
- 登录前准备类
-
远程连接类
- 如何进行弹性云服务器的一键诊断?
- 如何登录弹性云服务器?
- 无法登录到Windows云服务器怎么办?
- 无法登录到Linux云服务器怎么办?
- MSTSC方式登录Windows 2012的弹性云服务器,登录失败怎么办?
- CloudShell方式远程登录Linux弹性云服务器失败怎么办?
- 怎样修改远程登录的端口?
- 修改Linux弹性云服务器的默认SSH端口后,使用新端口无法登录?
- 密钥对鉴权方式的Windows云服务器无法获取密码怎么办?
- 远程登录弹性云服务器时,对浏览器版本的要求?
- Windows 2012系统卸载某些软件后无法进入系统桌面怎么办?
- 操作系统类型相同的弹性云服务器互换系统盘后,如何登录?
- 为什么单击“获取密码”后,系统提示查询不到密码?
- 如何修改Windows弹性云服务器的分辨率?
- VNC登录类
-
Windows远程登录报错类
- 远程连接Windows云服务器报错:出现身份验证错误,要求的函数不受支持
- 远程连接Windows云服务器报错:此计算机无法连接到远程计算机
- 远程连接Windows云服务器报错:没有远程登录的权限
- 远程连接Windows云服务器报错:没有远程桌面授权服务器可以提供许可证
- 登录Windows云服务器时报错:0x112f
- 远程连接Windows云服务器报错:0x1104
- 远程连接Windows云服务器报错:122.112...
- 使用Mac远程连接Windows云服务器报错:证书或相关链无效
- 使用Mac远程连接Windows云服务器出现报错0x207
- 远程连接Windows云服务器报错:您的凭据无法工作
- 登录Windows云服务器提示“内部错误”怎么办?
- 远程连接Windows云服务器报错:由于协议错误会话中断
- 远程连接Windows云服务器报错:无法验证此远程计算机的身份
- 远程连接Windows云服务器报错:两台计算机无法在分配的时间内连接
- 远程连接Windows云服务器报错:连接被拒绝未授权此用户
- 远程连接Windows云服务器报错:您的连接已丢失
- 远程连接云服务器出现蓝屏
- RDP连接已断开,出现内部错误,错误代码4
- Linux远程登录报错类
- 计费相关
- 区域与可用区
-
操作系统相关问题
- 云服务器是否有图形界面?
- CentOS 6系列弹性云服务器如何安装图形化界面?
- CentOS 7系列弹性云服务器如何安装图形化界面?
- Ubuntu系列弹性云服务器如何安装图形化界面?
- Debian系列弹性云服务器如何安装图形化界面?
- Linux弹性云服务器发生kdump时,操作系统无响应
- Linux弹性云服务器怎样升级内核?
- 弹性云服务器的操作系统无法正常启动是什么原因?
- 针对Intel处理器芯片存在的Meltdown和Spectre安全漏洞,应该如何规避?
- 如何开启CentOS操作系统的SELinux功能?
- 鲲鹏CentOS 7和中标麒麟NKASV 7云服务器使用GNOME图形化后鼠标不可用怎么办?
- 怎样查看GPU加速型云服务器的GPU使用率?
- GPU加速云服务器出现NVIDIA内核崩溃,如何解决?
-
磁盘分区/挂载/扩容
- Windows操作系统云服务器看不到挂载的数据盘怎么办?
- 怎样调整系统盘分区?
- 控制台与弹性云服务器内部之间磁盘挂载点的对应关系
- 怎样查询Windows弹性云服务器磁盘分区与磁盘设备的对应关系?
- 怎样查询Linux弹性云服务器磁盘分区与磁盘设备的对应关系?
- 怎样配置Windows弹性云服务器的虚拟内存?
- 如何将扩容系统盘的空白分区在线扩容到末尾的root分区?
- 如何将扩容系统盘的空白分区在线扩容到非末尾的root分区?
- 一台弹性云服务器可以挂载多块磁盘吗?
- 弹性云服务器挂载磁盘时有什么限制?
- 哪些弹性云服务器支持挂载SCSI类型的云硬盘?
- 弹性云服务器详情页显示还有挂载点,但是挂载磁盘失败
- 挂载SCSI盘的Linux弹性云服务器,重启失败怎么办?
- 怎样查询挂载了同一个SCSI共享盘的云服务器是否在同一个云服务器组中?
- 哪些用户有权限使用加密特性?
- 本地盘实例怎么添加到云服务器组?
- 包年/包月的云硬盘怎么删除或者退订
- 退订或删除弹性云服务器时,云硬盘会一起被退订或删除吗
- 磁盘脱机怎么办?
- 重启后盘符发生变化怎么办?
- 用户误删除Tools后,如何获取数据盘信息?
- Linux弹性云服务器挂载NVMe SSD盘异常,如何修复?
- 为什么C6服务器盘符格式是sd*?
- 弹性云服务器磁盘格式化为ext4分区后,为什么会打印磁盘报错日志?
- 如何转换磁盘MBR分区为GPT分区?
- 数据备份与恢复
-
网络配置
- 怎样配置弹性云服务器的DNS和NTP信息?
- 华为云有没有提供NTP服务器,怎样配置?
- 如何为ECS配置DNS?
- 同一个VPC内的ECS内网无法互通或者出现丢包等现象时,如何排查?
- 不同账号下跨VPC的弹性云服务器内网是否可以互通?
- 如何实现同一账号跨VPC的网络互通?
- 我购买的云服务器是否在同一子网?
- 怎样修改云服务器子网的网段?
- 如何查看ECS实例是否支持IPv6?
- 如何在Linux实例中配置静态IP地址?
- 如何配置端口映射?
- 如何查看云服务器的mac地址?
- 如何查看和修改Linux弹性云服务器的内核参数?
- 云服务器网络优化方案
- 网卡无法正常工作,怎么办?
- DHCP无法正常获取内网IP?
- Linux云服务器网络性能测试方法
- 弹性云服务器变更规格后网卡漂移怎么办?
- 如何解决多网卡的Linux弹性云服务器变更规格后网卡漂移?
- 弹性云服务器添加网卡后是否会自动启动?
- 怎样检查IB云服务器的网络是否正常?
- 怎样给IB网卡手动配置IP地址?
- 如何解决SR-IOV场景下win7弹性云服务器安装82599网卡驱动报错?
- CentOS 6.5系统如何添加静态路由?
- 弹性公网IP类
-
密码与密钥对
- 如何修改Linux弹性云服务器的密码?
- Linux操作系统默认密码是多少?
- 怎样设置镜像密码的有效期?
- 在操作系统内部修改ECS密码
- 重置Windows云服务器密码(未安装重置密码插件)
- 重置Linux云服务器密码(未安装重置密码插件)
- 用户创建弹性云服务器成功后远程登录提示密码错误
- 用户未修改密码,正常使用弹性云服务器一段时间后无法登录
- 一键重置密码后无法使用新密码登录弹性云服务器
- 业务端口被一键式重置密码插件占用
- 一键式重置密码插件占用虚拟内存VIRT和常驻内存SHR过高怎么办?
- 关闭Selinux
- Linux镜像安装一键式重置密码插件启动失败怎么办?
- 怎样查询弹性云服务器使用的密钥对是哪个?
- 如何使用密钥对?
- 手机是否可以下载密钥对?
- 无法导入密钥对,怎么办?
- 为什么使用密钥文件无法正常登录Linux弹性云服务器?
- 密钥对无法下载
- 通过puttygen.exe工具创建的密钥对,导入管理控制台失败怎么办?
- Windows弹性云服务器中的cloudbase-init账户是什么?
- python升级导致Cloud-init不工作
- 应用搭建及软件安装咨询
-
文件上传/数据传输
- 上传文件到云服务器方式概览
- 本地Windows主机通过MSTSC上传文件到Windows云服务器
- 本地Windows主机使用OBS上传文件到Windows云服务器
- 本地Windows主机使用WinSCP上传文件到Linux云服务器
- 本地macOS系统主机上传文件到Windows云服务器
- 本地Linux主机使用SCP上传文件到Linux云服务器
- 本地Linux主机使用SFTP上传文件到Linux云服务器
- 本地Windows主机使用FTP上传文件到Windows/Linux云服务器
- 本地Linux主机使用FTP上传文件到Linux云服务器
- 怎样在本地主机和Windows云服务器之间互传数据?
- 使用FTP上传文件时客户端连接服务端超时怎么办?
- 使用FTP上传文件时写入失败,文件传输失败怎么办?
- 搭建了FTP,通过公网无法访问怎么办?
- 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
- WinSCP无法连接到Linux云服务器怎么办?
- 上传文件到云服务器缓慢怎么办?
-
ECS故障
- 针对管理控制台的异常提示信息,应该如何处理?
- 如何修复虚拟化驱动异常的Windows弹性云服务器?
- 弹性云服务器配置的邮件无法正常发送
- Windows弹性云服务器没有声音?
- 如何修改弹性云服务器的SID?
- 为什么按需计费的弹性云服务器开机失败?
- 为什么我的C6云服务器出现了性能下降现象?
- 使用free命令查看弹性云服务器的内存,为什么与实际不符?
- 弹性云服务器重启后,主机名被还原为安装时的主机名?
- 弹性云服务器的主机名带后缀novalocal,这正常吗?
- 强制关机导致文件系统损坏,Linux弹性云服务器启动失败
- 怎样使修改的静态主机名永久生效?
- Linux操作系统云服务器无法获取元数据怎么办?
- ECS卡顿
- 规格变更
- 操作系统变更
- ECS安全排查
- 资源管理与标签
- 镜像源管理
- 无法访问公网
- 部署的网站/应用无法访问
- 网站/应用访问运行缓慢
-
故障排除
- 高频故障案例
-
操作系统类(Windows)
- Windows云服务器如何保持会话连接长时间不断开?
- 云服务器时间与标准时间不一致
- Windows云服务器配置双网卡公网访问
- Windows云服务器不能复制粘贴内容?
- Windows云服务器配置文件共享和网络磁盘映射方法
- 启动Tomcat时报错,提示80端口被占用怎么办?
- 输入法无法使用怎么办?
- 怎样设置Windows云服务器输入法?
- 怎样实现Windows云服务器文件共享?
- Windows无法正常启动时怎样恢复数据?
- 如何查看Windows云服务器的登录日志?
- Windows云服务器可以Ping通网站,但是无法访问怎么办?
- Windows无法打开开始菜单及搜索框
- Windows Server 2016 ISO实例UEFI无法启动
- Windows无法修改DNS,提示为配置TCP/IP
-
操作系统类(Linux)
- emergency mode(紧急模式)问题处理方法
- 无法编辑fstab文件怎么办?
- CentOS/EulerOS设置系统时区
- Web访问超时系统日志打印:nf_conntrack:table full, dropping packet
- Ubuntu操作系统如何设置默认启动内核
- 怎样配置Linux分析工具:atop和kdump
- 为什么操作系统实际版本与购买时镜像版本不一致?
- 云服务器新内核启动失败如何设置使用第二内核启动
- CentOS 7中/etc/rc.local开机启动脚本不生效怎么办?
- 修改/etc/security/limits.conf文件,重启后不生效怎么办?
- 使用taskset命令让进程运行在指定CPU上
- pip安装软件时出现错误:command ´gcc´ failed with exit status 1
- 非root用户切root用户时,连接超时怎么办?
- CentOS云服务器根目录设置成777权限怎么办?
- Linux实例IP地址丢失怎么办?
- 内核参数kernel.unknown_nmi_panic配置错误导致Linux ECS实例异常重启
- Linux实例执行命令或启动服务时出现错误:Cannot allocate memory
- fork失败,无法创建新的线程怎么办?
- 错误的系统配置导致启动或远程登录失败
- 为什么Linux云服务器df和du统计磁盘空间的大小不一致?
- NetworkManager服务无法启动,报错:Failed to restart NetworkManager.service: Unit NetworkManager.service is masked
- 修改弹性云服务器的时间后,为什么IP地址丢失了?
- 如何解决ECS日志中出现Too many open files的错误?
-
远程登录
- VNC登录类
-
Windows远程登录报错类
- 远程连接Windows云服务器报错:出现身份验证错误,要求的函数不受支持
- 远程连接Windows云服务器报错:此计算机无法连接到远程计算机
- 远程连接Windows云服务器报错:没有远程登录的权限
- 远程连接Windows云服务器报错:没有远程桌面授权服务器可以提供许可证
- 登录Windows云服务器时报错:0x112f
- 远程连接Windows云服务器报错:0x1104
- 远程连接Windows云服务器报错:122.112...
- 使用Mac远程连接Windows云服务器报错:证书或相关链无效
- 使用Mac远程连接Windows云服务器出现报错0x207
- 远程连接Windows云服务器报错:您的凭据无法工作
- 登录Windows云服务器提示“内部错误”怎么办?
- 远程连接Windows云服务器报错:由于协议错误会话中断
- 远程连接Windows云服务器报错:无法验证此远程计算机的身份
- 远程连接Windows云服务器报错:两台计算机无法在分配的时间内连接
- 远程连接Windows云服务器报错:连接被拒绝未授权此用户
- 远程连接Windows云服务器报错:您的连接已丢失
- 远程连接云服务器出现蓝屏
- RDP连接已断开,出现内部错误,错误代码4
- 远程连接Windows云服务器报错:为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多
-
Linux远程登录报错类
- 远程连接Linux云服务器报错:Module is unknown
- 远程连接Linux云服务器报错:Permission denied
- 远程连接Linux云服务器报错:read: Connection reset by peer
- 远程连接Linux云服务器报错:Access denied
- 远程连接Linux云服务器报错:Disconnected: No supported authentication methods available
- 远程连接Linux云服务器报错:Authentication failed
- 使用SSH登录Linux云服务器时提示“pam_unix(sshdsession) session closed for user”错误
- Linux云服务器启动时提示报错:Failed to load SELinux policy, freezing.
- 使用SSH登录Linux云服务器时提示“requirement "uid >= 1000" not met by user "root"”错误
- 使用SSH登录Linux云服务器时提示“Too many authentication failures for root”错误
- 使用SSH登录Linux云服务器时提示“Permission denied, please try again.”错误
- 使用Xshell连接不上云服务器,提示“WARNING! The remote SSH server rejected X11 forwarding request.”报错
- SSH登录Linux云服务器时提示“/usr/bin/xauth: timeout in locking authority file /home/user/.Xauthority”报错
- SSH远程登录Linux云服务器时提示报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
-
网络配置
- CentOS 7重启后dhclient未运行,导致无法获取IP
- Linux私有镜像网卡漂移问题处理
- Linux系统重启后/etc/hosts自动添加主机名解析
- 多网卡配置文件导致network启动失败处理
- Linux系统ping域名失败,提示Name or service not known
- 同一子网的两块网卡均绑定弹性公网IP
- NetworkManager在运行docker容器时占用大量内存怎么办?
- 系统时间跳变导致IP丢失怎么办?
- resolv文件被重置怎么办?
- 为什么弹性云服务器可以ping通,但是无法远程连接?
- Ubuntu系统ECS重启后“/etc/resolv.conf”被还原怎么办?
- 磁盘空间管理
- GPU实例故障自诊断
- GPU驱动故障
-
SSH连接
- 怎样长时间保持SSH会话连接不断开?
- 怎样设置允许或禁止用户/IP通过SSH方式连接云服务器
- CentOS 7修改SSH默认端口后无法连接怎么办?
- /etc/passwd文件损坏导致云服务器登录失败怎么办?
- 开启UseDNS导致SSH连接缓慢怎么办?
- Linux启动sshd服务出现/var/empty/sshd无法访问的解决方案
- 怎样禁用SSH密码方式连接云服务器?
- SSH连接或者服务偶发性断开问题处理
- SSH密钥无法登录,报错Authentication refused: bad ownership or modes for directory /root
- 如何解决Ubuntu 16.04云服务器可以通过SSH成功登录,但VNC界面无法到达登录界面的问题
- SSH服务启动时出现“main process exited, code=exited”错误
- 多用户登录
- 密码与密钥对
- 防火墙设置
- 云服务器蓝屏
- 安装IIS服务
- FACS用户指南
- 视频帮助
- 文档下载
- 通用参考
- 操作场景
- atop简介
- atop安装前准备
- CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop
- CentOS 6系列操作系统配置atop
- Ubuntu 20/22、Debian 10/11系列操作系统配置atop
- Ubuntu 18、Debian 8/9系列操作系统配置atop
- Ubuntu 16系列操作系统配置atop
- SUSE 15、SUSE 12系列操作系统配置atop
- 使用源码方式安装(适用于CentOS Stream 9、openEuler、EulerOS等系列操作系统)
- 分析atop日志
- 配置kdump使用须知
- kdump简介
- 配置kdump操作步骤
- 检查kdump配置是否生效
展开导读
链接复制成功!
怎样配置Linux分析工具:atop和kdump
操作场景
本节操作介绍atop和kdump的配置方法。
不同的Linux版本使用的atop工具版本不同,因此配置方法稍微有所不同。
配置atop:
- atop简介
- atop安装前准备
- CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop
- CentOS 6系列操作系统配置atop
- Ubuntu 20/22、Debian 10/11系列操作系统配置atop
- Ubuntu 18、Debian 8/9系列操作系统配置atop
- Ubuntu 16系列操作系统配置atop
- SUSE 15、SUSE 12系列操作系统配置atop
- 使用源码方式安装(适用于CentOS Stream 9、openEuler、EulerOS等系列操作系统)
- 分析atop日志
配置kdump:
atop简介
atop是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,可获取相应的atop日志文件进行分析。
CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop
- 执行以下命令,安装atop。
- 编辑配置文件,修改采样周期。
修改如下配置参数,修改后保存并退出。
- LOGINTERVAL默认是600,可以修改成15,单位秒。
- 默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。
LOGINTERVAL=15 LOGGENERATIONS=3
CentOS 6系列操作系统配置atop
- 执行以下命令,安装atop。
- 编辑配置文件,修改采样周期。
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
LOGINTERVAL=15
vi /etc/logrotate.d/atop
修改如下配置参数,修改后保存并退出。
默认atop日志保存周期为40天,可以根据实际修改“-mtime”的值为3,单位为天。
postrotate /usr/bin/find /var/log/atop/ -maxdepth 1 -mount -name atop_\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\* -mtime +3 -exec /bin/rm {} \; endscript
- 启动atop服务。
- 检查是否启动成功,is running 表示运行正常。
atop (pid 3170) is running
Ubuntu 20/22、Debian 10/11系列操作系统配置atop
- 执行以下命令,安装atop。
- 编辑配置文件,修改采样周期。
修改如下配置参数,修改后保存并退出。
- LOGINTERVAL默认是600,可以修改成15,单位秒。
- 默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。
LOGINTERVAL=15 LOGGENERATIONS=3
Ubuntu 18、Debian 8/9系列操作系统配置atop
- 执行以下命令,安装atop。
- 编辑配置文件,修改采样周期。
修改如下配置参数,修改后保存并退出。
- LOGINTERVAL默认是600,可以修改成15,单位秒。
- 默认atop日志保存周期为28天,可以根据实际修改“-mtime”的值为3,单位为天。
LOGINTERVAL=15 …… ( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +3 -exec rm {} \;)& )
Ubuntu 16系列操作系统配置atop
- 执行以下命令,安装atop。
- 编辑配置文件,修改采样周期。
修改如下配置参数,修改后保存并退出。
- LOGINTERVAL默认是600,可以修改成15,单位秒。
- 默认atop日志保存周期为28天,不支持修改。
LOGINTERVAL=15
SUSE 15、SUSE 12系列操作系统配置atop
- 下载atop源码安装包。
- 执行以下命令安装源码atop。
- 安装编译atop依赖软件包
- 执行以下命令编译atop
rpmbuild -bb atop-2.6.0.spec
- 执行以下命令安装atop
cd /usr/src/packages/RPMS/x86_64
rpm -ivh atop-2.6.0-1.x86_64.rpm
- 编辑配置文件,修改采样周期。
修改如下配置参数,修改后保存并退出。
- LOGINTERVAL默认是600,可以修改成15,单位秒。
- 默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。
LOGINTERVAL=15 LOGGENERATIONS=3
使用源码方式安装(适用于CentOS Stream 9、openEuler、EulerOS等系列操作系统)
- 执行以下命令解压源码atop。
- 执行以下命令查看systemctl版本。
如果版本大于等于220,直接进行下一步。
否则需要修改atop的Makefile文件,删除--now参数。
vi atop-2.6.0/Makefile
删除systemctl命令后的--now参数
then /bin/systemctl disable atop 2> /dev/null; \ /bin/systemctl disable atopacct 2> /dev/null; \ /bin/systemctl daemon-reload; \ /bin/systemctl enable atopacct; \ /bin/systemctl enable atop; \ /bin/systemctl enable atop-rotate.timer; \
- 安装编译atop依赖软件包。
- 执行以下命令编译并安装atop。
make systemdinstall
- 编辑配置文件,修改采样周期。
添加如下配置参数,修改后保存并退出。
- LOGINTERVAL默认是600,可以修改成15,单位秒。
- 默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。
LOGOPTS="" LOGINTERVAL=15 LOGGENERATIONS=3 LOGPATH=/var/log/atop
分析atop日志
atop启动后,会将采集记录存放在/var/log/atop目录下的日志文件中。
执行如下命令,查看日志文件。
atop -r /var/log/atop/atop_2024XXXX
- atop常用命令
打开日志文件后,您可以使用以下命令筛选数据。
- c:按照进程CPU使用率进行降序筛选。
- m:按照进程内存使用率进行降序筛选。
- d:按照进程磁盘使用率进行降序筛选。
- a:按照进程资源综合使用率进行降序筛选。
- n:按照进程网络使用率进行降序筛选。
- t:跳转到下一个监控采集点。
- T:跳转到上一个监控采集点。
- b:指定时间点,格式为YYYYMMDDhhmm。
- 系统资源监控字段含义
下图为部分监控字段以及数值,具体数值根据采样周期和atop版本有所不同。下图仅供参考,具体数据以您实际数据为准。
图1 系统资源监控字段主要参数说明如下:- ATOP 行:主机名、信息采样日期和时间点。
- PRC 行:进程整体运行情况。
- #sys 及 user:内核态和用户态所占 CPU 的时间值。
- #proc:进程总数。
- #zombie:僵死进程的数量。
- #exit:采样周期期间退出的进程数量。
- CPU 行:CPU 整体(即多核 CPU 作为一个整体 CPU 资源)的使用情况。CPU 行的各字段数值相加结果为 N*100%,N 为 CPU 核数。
- #sys 及 user:内核态和用户态所占 CPU 的时间比例。
- #irq:CPU 被用于处理中断的时间比例。
- #idle:CPU 处在完全空闲状态的时间比例。
- #wait:CPU 处在进程等待磁盘 IO ,导致 CPU 空闲状态的时间比例。
- CPL 行:CPU 负载情况。
- #avg1、avg5 和 avg15:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量。
- #csw:指示上下文交换次数。
- #intr:指示中断发生次数。
- MEM 行:内存的使用情况。
- #tot:物理内存大小。
- #free:空闲的物理内存大小
- #cache :用于页缓存的内存大小。
- #buff:用于文件缓存的内存大小。
- #slab:系统内核占用的内存大小。
- SWP 行:交换空间的使用情况。
- #tot:交换区总量。
- #free:空闲交换空间大小。
- DSK 行:磁盘使用情况,每一个磁盘设备对应一列。如果有 sdb 设备,那么增加一行 DSK 信息。
- #sda:磁盘设备标识。
- #busy:磁盘忙时比例。
- #read 及 write:读、写请求数量。
- NET 行:多列 NET 展示了网络状况,包括传输层(TCP 和 UDP)、IP 层以及各活动的网口信息。
- #xxxxxi:各层或活动网口收包数目。
- #xxxxxo:各层或活动网口发包数目。
- 停止 atop
atop运行会占用额外的系统和磁盘资源,不建议在业务环境下长期运行,您可在问题排查完成后,执行以下命令停止atop。
systemctl stop atop
CentOS 6执行以下命令停止atop。
service atop stop
kdump简介
kdump是系统崩溃的时候,用来转储运行内存的一个工具。系统一旦崩溃,内核就无法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核,该内核会将此时内存中的所有运行状态和数据信息收集到一个dump core文件中以便之后分析崩溃原因。
配置kdump操作步骤
- 查看是否已经安装kexec-tools。
如果没有安装,则执行下面命令安装。
yum install -y kexec-tools
- 开启kdump默认启动。
- 设置craskkernel参数,设置这个参数的目的是预留内存给capture kernel。
grep crashkernel /proc/cmdline
如果有显示,则表示已经设置,如果没有显示,则需要重新设置。
设置crashkernel,编辑/etc/default/grub文件。GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true"
找到GRUB_CMDLINE_LINUX参数,添加crashkernel=auto,其他内容不变。
- 执行grub命令,使以上配置生效。
- 打开/etc/kdump.conf文件中找到“path”参数,添加以下内容。
path /var/crash
默认是保存在/var/crash目录下,如果要保存到其他目录,则改成对应的目录,
例如保存在/home/kdump下,则改成:path /home/kdump
说明:
要确保指定的路径有足够的空间保存vmcore,建议剩余空间不小于RAM大小;也可以保存在SAN,nfs等共享设备上。
- 设置转存vmcore级别。
修改/etc/kdump.conf文件,添加如下参数,如果存在则无需添加。
core_collector makedumpfile -d 31 -c
-c表示压缩vmcore文件,
-d表示过滤掉部分无效的内存数据,可以根据需要调整,一般31即可,31是由如下的值与计算而成。
zero pages = 1 cache pages = 2 cache private = 4 user pages = 8 free pages = 16
- 执行如下命令重启系统,使以上配置生效。
检查kdump配置是否生效
- 执行以下命令,确认回显信息中crashkernel=auto
cat /proc/cmdline |grep crashkernel
BOOT_IMAGE=/boot/vmlinuz-3.10.0-514.44.5.10.h142.x86_64 root=UUID=6407d6ac-c761-43cc-a9dd-1383de3fc995 ro crash_kexec_post_notifiers softlockup_panic=1 panic=3 reserve_kbox_mem=16M nmi_watchdog=1 rd.shell=0 fsck.mode=auto fsck.repair=yes net.ifnames=0 spectre_v2=off nopti noibrs noibpb crashkernel=auto LANG=en_US.UTF-8
- 执行以下命令,并确认回显信息中的配置信息正确。
grep core_collector /etc/kdump.conf |grep -v ^"#"
core_collector makedumpfile -l --message-level 1 -d 31
- 执行以下命令,并确认回显信息中的配置信息正确。
grep path /etc/kdump.conf |grep -v ^"#"
path /var/crash
- 执行以下命令,并确认回显信息中的Active的状态为active (exited)。
● kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled) Active: active (exited) since Tue 2019-04-09 19:30:24 CST; 8min ago Process: 495 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCESS) Main PID: 495 (code=exited, status=0/SUCCESS) CGroup: /system.slice/system-hostos.slice/kdump.service
- 执行测试命令。
这会触发kdump,重新启动,并将生成的vmcore文件保存的path参数指定的位置。
- 检查vmcore是否生成。
到所在环境path参数所指定的路径查看是否有vmcore文件生成,例如/var/crash/目录。
ll /var/crash/
可以看到生成了一个文件夹,里面有vmcore文件。