top 和 free 使用说明与案例

1. top 命令说明

top 是 Linux 系统中用于实时监控系统运行状态的命令,主要显示系统的负载、资源使用情况以及各个进程的详细信息。


字段说明
PID   USER      %CPU  %MEM   TIME+    COMMAND
1234  root      95.0   1.2   0:00.05  my_process
5678  user      30.1   0.5   0:00.02  other_process
  • PID: 进程 ID,用于唯一标识每个进程。
  • USER: 运行进程的用户。
  • %CPU: 当前进程使用的 CPU 百分比。
  • %MEM: 当前进程使用的内存百分比。
  • TIME+: 进程使用的累计 CPU 时间。
  • COMMAND: 执行的命令或程序名称。

案例分析

输出示例:

1234 root 95.0 1.2 0:00.05 my_process
5678 user 30.1 0.5 0:00.02 other_process
  1. 进程 my_process

    • 使用了 95% CPU,说明是一个 CPU 密集型任务,可能是某些代码运行异常或高计算需求。
    • 内存使用为 1.2%,内存消耗较少。
  2. 进程 other_process

    • 占用 30.1% CPU,可能是普通的计算任务。
    • 内存使用 0.5%,资源占用较低。
解决资源问题
  • 终止高占用的异常进程
    kill -9 1234
    
  • 调整优先级: 降低 my_process 的优先级,避免影响其他任务:
    renice -n 10 -p 1234
    
  • 进一步分析: 使用 stracelsof 查看进程调用与资源占用:
    strace -p 1234
    lsof -p 1234
    

2. free 命令说明

free 用于查看系统内存的使用情况,包括空闲内存、缓存和交换空间。

字段说明

运行命令:

free -h

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           8Gi        6Gi        1Gi        0.2Gi       1Gi          1.8Gi
Swap:          4Gi        1Gi        3Gi
  • total: 总内存大小。
  • used: 已使用内存。
  • free: 未使用内存。
  • buff/cache: 缓存和缓冲占用的内存。
  • available: 当前可用的内存。
  • Swap: 交换分区的使用情况。

案例分析

在上例中:

  • 系统总内存 8Gi,其中 6Gi 已使用,剩余 1Gi
  • 缓存占用 1Gi,剩余可用内存 1.8Gi,说明内存压力不大。
  • 交换分区总 4Gi,已用 1Gi,表示部分内存被交换到磁盘。
解决内存不足问题
  1. 清理缓存: 如果 buff/cache 占用过高,可手动释放缓存:

    echo 3 > /proc/sys/vm/drop_caches
    
  2. 排查内存占用进程: 配合 top 命令,查看高内存使用的进程:

    top -o %MEM
    
  3. 扩展 Swap 空间: 当 Swap 空间不足时,可临时添加 Swap 文件:

    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    

综合使用场景

假设发现系统运行缓慢:

  1. 使用 free -h 检查内存使用情况,判断是否存在内存不足或 Swap 空间使用过高。
  2. 使用 top 找到占用资源的异常进程,根据 %CPU%MEM 排序。
  3. 根据分析结果:
    • 杀掉异常进程,释放系统资源。
    • 优化高负载程序或调整其优先级。
    • 扩展 Swap 或释放缓存,缓解内存压力。

通过结合 topfree 的数据,可以快速定位并解决系统性能问题,提升系统运行效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/498500.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用网络工具进行网络性能评估

网络评估是对IT基础设施的系统评估,以确保它能够很好地满足企业的核心运营需求,确定了基础设施中需要改进的领域,并定义了改进的范围。 网络评估工具分析IT基础设施的各个方面,它通过评估网络设备、网络性能和安全威胁来仔细检查…

【Java项目】基于SpringBoot的【人职匹配推荐系统】

【Java项目】基于SpringBoot的【人职匹配推荐系统】 技术简介:本系统使用采用B/S架构、Spring Boot框架、MYSQL数据库进行开发设计。 系统简介:人职匹配推荐系统分为管理员和用户、企业三个权限子模块。 管理员所能使用的功能主要有:首页、个…

ROS2+OpenCV综合应用--10. AprilTag标签码追踪

1. 简介 apriltag标签码追踪是在apriltag标签码识别的基础上,增加了小车摄像头云台运动的功能,摄像头会保持标签码在视觉中间而运动,根据这一特性,从而实现标签码追踪功能。 2. 启动 2.1 程序启动前的准备 本次apriltag标签码使…

【Vim Masterclass 笔记03】S03L10 + S03L11:Vim 中的文本删除操作以及 Vim 思维习惯的培养(含 DIY 拓展知识点)

文章目录 Section 3:Vim Essentials(Vim 核心知识)S03L10 Vim 核心浏览命令同步练习点评课S03L11 Deleting Text and "Thinking in Vim" 文本的删除及 Vim 思维习惯的培养1 删除单个字符2 删除一个单词2.1 推广1:D HJK…

【时时三省】(C语言基础)动态内存函数calloc

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 calloc calloc函数也用来动态内存分配 原型如下: void* calloc(size_t num, size_t size); 它们两个的区别是 它是需要两个参数…

LeetCode - 初级算法 数组(两个数组的交集 II)

两个数组的交集 II 这篇文章讨论如何求两个数组的交集,并返回结果中每个元素出现的次数与其在两个数组中都出现的次数一致。提供多个实现方法以满足不同场景需求。 免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 描述 给定两个整数数组 nums1 和 nums2,以数…

[react]小技巧, ts如何声明点击事件的类型

很简单, 鼠标放到事件上面就行了 如果想知道点击的是什么元素 ,打印他的nodename就行了 不过得断言为html元素才行 const handleClick (e: React.MouseEvent<HTMLDivElement, MouseEvent>) > {console.log(current, (e.target as HTMLElement).nodeName);}; 为什么…

[创业之路-229]:《华为闭环战略管理》-5-平衡记分卡与战略地图

目录 一、平衡记分卡 1. 财务角度&#xff1a; 2. 客户角度&#xff1a; 3. 内部运营角度&#xff1a; 4. 学习与成长角度&#xff1a; 二、BSC战略地图 1、核心内容 2、绘制目的 3、绘制方法 4、注意事项 一、平衡记分卡 平衡记分卡&#xff08;Balanced Scorecard&…

【中间件】docker+kafka单节点部署---zookeeper模式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言消息中间件介绍1. KRaft模式2. zookeeper模式2.1. 单节点部署安装验证 前言 最近生产环境上准备部署ELFK日志监控&#xff0c;先在测试环境部署单节点kafka验证…

【mysql】linux安装mysql客户端

参考文章&#xff1a; MySQL系列之如何在Linux只安装客户端 linux下安装mysql客户端client MySQL Community Downloads 查看linux版本方法&#xff1a; lsb_release -a cat /proc/version下载文件&#xff1a; rpm -ivh mysql-community-*可以删除错误的包&#xff1a; RP…

怎么在家访问公司服务器?

在日常工作中&#xff0c;特别是对信息技术从业者而言&#xff0c;工作往往离不开公司的服务器。他们需要定期访问服务器&#xff0c;获取一些关键的机密文件或数据。如果您在家办公&#xff0c;并且需要处理未完成的任务&#xff0c;同时需要从公司服务器获取所需的数据&#…

Unity编译Android apk包进度奇慢或gradle报错的解决方案

最近遇到Unity编译Android apk进度卡在"Calling IPostGenerateGradleAndroidProject callbacks"进度一直不变&#xff0c;如下图&#xff1a; 最后提示编译失败&#xff0c;类似错误如下&#xff1a; Picked up JAVA_TOOL_OPTIONS: -Dfile.encodingUTF-8FAILURE: Bu…

【机器学习案列】车牌自动识别系统:基于YOLO11的高效实现

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

集成方案 | Docusign + 蓝凌 EKP,打造一站式合同管理平台,实现无缝协作!

本文将详细介绍 Docusign 与蓝凌 EKP 的集成步骤及其效果&#xff0c;并通过实际应用场景来展示 Docusign 的强大集成能力&#xff0c;以证明 Docusign 集成功能的高效性和实用性。 在当今数字化办公环境中&#xff0c;企业对于提高工作效率和提升用户体验的需求日益迫切。蓝凌…

活动预告 |【Part1】Microsoft Azure 在线技术公开课:数据基础知识

课程介绍 参加“Azure 在线技术公开课&#xff1a;数据基础知识”活动&#xff0c;了解有关云环境和数据服务中核心数据库概念的基础知识。通过本次免费的介绍性活动&#xff0c;你将提升在关系数据、非关系数据、大数据和分析方面的技能。 活动时间&#xff1a;01 月 07 日…

HTTPS验证流程

http通常是直接和TCP进行通信的&#xff0c;而https中http是和SSL通信&#xff0c;再由SSL与TCP进行通信。SSL协议是一个介于应用层和传输层之间的一个安全协议。 1.对称加密与非对称加密 对称加密&#xff1a; 加密和解密方式都使用同一个私钥和公开的加密算法&#xff0c;优…

uniapp 微信小程序开发使用高德地图、腾讯地图

一、高德地图 1.注册高德地图开放平台账号 &#xff08;1&#xff09;创建应用 这个key 第3步骤&#xff0c;配置到项目中locationGps.js 2.下载高德地图微信小程序插件 &#xff08;1&#xff09;下载地址 高德地图API | 微信小程序插件 &#xff08;2&#xff09;引入项目…

EasyExcel(环境搭建以及常用写入操作)

文章目录 EasyExcel环境搭建1.创建模块 easyexcel-demo2.引入依赖3.启动类创建 EasyExcel写1.最简单的写入1.模板2.方法3.结果 Write01.xlsx 2.指定字段不写入Excel1.模板2.方法3.结果 Write02.xlsx 3.指定字段写入excel1.模板2.方法3.结果 Write03.xlsx 4.按照index顺序写入ex…

sqlserver镜像设置

本案例是双机热备&#xff0c;只设置主体服务器&#xff08;主&#xff09;和镜像服务器&#xff08;从&#xff09;&#xff0c;不设置见证服务器 设置镜像前先检查是否启用了 主从服务器数据库的 TCP/IP协议 和 RemoteDAC &#xff08;1&#xff09;打开SQL Server配置管理器…

【亲测有效】k8s分布式集群安装部署

1.实验环境准备 准备三台centos7虚拟机&#xff0c;用来部署k8s集群&#xff1a; master&#xff08;hadoop1&#xff0c;192.168.229.111&#xff09;配置&#xff1a; 操作系统&#xff1a;centos7.3以及更高版本都可以配置&#xff1a;4核cpu&#xff0c;4G内存&#xff…