Linux查看应用的CPU、内存使用情况

2023-11-14

目录

一、jps命令。

二、ps命令。

三、top命令。

四、free命令。

五、df命令。


查看应用的CPU、内存使用情况,使用jps、ps、top、free、df命令查看。

一、jps命令。

可以列出本机所有java应用程序的进程pid。

jps [ options ] [ hostid ] 
选项 
-q  仅输出VM标识符,不包括class name,jar name,arguments in main method。 
-m  输出main method的参数。 
-l  输出完全的包名,应用主类名,jar的完全路径名。 
-v  输出jvm参数。
-V  输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件)。
-Joption 传递参数到vm。

二、ps命令。

显示当前系统的进程状态。

查看哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、进程占用的资源等。

[root@xxx /]# ps -l

F 代表这个程序的旗标 (flag), 4 代表使用者为 super user。
S 代表这个程序的状态 (STAT)。
UID 用户身份证明。
PID 程序的ID,进程识别号,进程标识符。
PPID 当前进程的父进程ID。
C CPU使用的资源百分比。
PRI Priority优先执行序。
NI nice值,负值表示高优先级,正值表示低优先级。
ADDR kernel function 指出该程序在内存的那个部分。如果是个running #的程序,一般就是“-”。
SZ 使用掉的内存大小。
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作。
TTY 登入者的终端机位置。
TIME 使用掉的 CPU 时间。
CMD 所下达的指令。

查找指定进程格式,根据关键字过滤。
ps -ef | grep 进程关键字

[root@xxx /]# ps -ef | grep xinxin-es-jd

显示所有进程信息,连同命令行。
ps -ef

[root@xxx /]# ps -ef

三、top命令。

实时显示process的动态,实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

[root@xxx ~]# top

top - 00:32:08 up 150 days, 21:35,  2 users,  load average: 0.91, 1.19, 1.48

23:10:41

系统当前时间。
days 系统启动后到现在的运行时间。
users 当前登录到系统的用户(终端数)。
load average 当前系统负载的平均值,系统在最近1分钟、5分钟、15分钟内,CPU的平均负载情况。

Tasks: 101 total,   1 running,  97 sleeping,   3 stopped,   0 zombi

total 当前系统进程总数量。
running 当前运行中的进程数量。
sleeping 当前处于等待状态中的进程数量。
stopped 停止的系统进程数量。
zombie 僵尸进程数量。

 

%Cpu(s): 13.4 us,  1.0 sy,  0.0 ni, 84.6 id,  0.0 wa,  0.7 hi,  0.3 si,  0.0 st

us 用户空间占用CPU百分比,表示用户空间程序的cpu使用率,没有通过nice调度。
sy 内核空间占用CPU百分比,系统空间的cpu使用率,主要是内核程序。
ni 用户进程空间内改变过优先级的进程占用CPU百分比,用户空间且通过nice调度过的程序的cpu使用率。
id 空闲cpu,空闲CPU百分比。
wa 等待输入输出的CPU时间百分比。
hi

cpu处理硬中断的数量。

si cpu处理软中断的数量。
st 被虚拟机偷走的cpu。

MiB Mem :   1826.7 total,     85.9 free,   1477.8 used,    263.1 buff/cache

total 物理内存总量。
free 空闲内存总量。
used 使用的物理内存总量。
buff/cache 缓存,用作内核缓存的内存量。

 

MiB Swap:      0.0 total,      0.0 free,      0.0 used.    182.8 avail Mem 

total 交换分区总量。
free 空闲交换分区总量。
used 使用的交换分区总量。
avail Mem 虚拟内存缓存。

 

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   

PID 进程的ID,进程号。
USER 进程所有者,用户名。
PR priority优先级,进程的优先级别,越小越优先被执行。
NI nice值。负值表示高优先级,正值表示低优先级。
VIRT 进程占用的虚拟内存,进程使用的虚拟内存总量。
RES 进程占用的物理内存,进程使用的、未被换出的物理内存大小,单位kb。
SHR 进程使用的共享内存,共享内存大小,单位kb。
S

进程的状态。

S:休眠、睡眠;R:正在运行;Z:僵死状态、僵尸进程;N:进程优先值为负数;D:不可中断的睡眠状态;I:空闲状态,用在不可中断睡眠的内核线程上。T:暂停或者跟踪状态。X:进程已经消亡。

%CPU CPU使用率,进程占用CPU的使用率。
%MEM 进程使用的物理内存和总内存的百分比。
TIME+ 进程使用的CPU时间总计,单位1/100秒。进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND 执行的命令,进程启动命令名称。

 

查看某一个PID应用的内存使用情况。

top -p PID 

[root@xxx /]# top -p 7098

 

四、free命令。

显示内存状态。

显示当前系统未使用和已使用的内存数目,显示被内核使用的内存缓冲区。

显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

[root@xxx ~]# free

Mem:内存的使用信息。
Swap:交换空间的使用信息。

total 系统总的可用物理内存大小,总计物理内存的大小。
used 已使用多大,已被使用的物理内存大小。
free 可用有多少,还有多少物理内存可用。
shared 多个进程共享的内存总额,被共享使用的物理内存大小。
buff/cache 磁盘缓存的大小,被buffer和cache使用的物理内存大小。
available 还可以被应用程序使用的物理内存大小,大概的计算方法available = free + buffer + cache。

五、df命令。

文件系统磁盘使用情况统计。
检查linux服务器的文件系统的磁盘空间占用情况,可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

[root@xxx /]# df

Filesystem 文件系统,文件系统的名称。
1K-blocks 1K-块,指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。
Used 已用。
Available  可用。
Use% 已用%,使用的内存的百分比。
Mounted on 挂载点,文件系统的挂载点。

 

[root@xxx /]# df -h

Filesystem 文件系统,文件系统的名称。
Size 容量。
Used 已用。
Avail 可用。
Use% 已用%,使用的内存的百分比。
Mounted on 挂载点,文件系统的挂载点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux查看应用的CPU、内存使用情况 的相关文章

  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • Linux 内核标识符中前导和尾随下划线的含义是什么?

    我不断遇到一些小约定 比如 KERNEL Are the 在这种情况下 是内核开发人员使用的命名约定 还是以这种方式命名宏的语法特定原因 整个代码中有很多这样的例子 例如 某些函数和变量以 甚至 这有什么具体原因吗 它似乎被广泛使用 我只需
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • CoAP数据包的大小是多少?

    我是这项技术的新手 有人可以帮助我了解一些疑问吗 Q 1 CoAP数据包的大小是多少 我知道有 4 字节固定标头 但是包括标头 选项和负载在内的最大大小限制是多少 Q 2 有像MQTT那样的Keep Alive的概念吗 它在UDP上工作 它
  • Gtk-ERROR **:检测到 GTK+ 2.x 符号

    我正在使用 gcc 编译我的 c 应用程序 并使用以下标志 gcc evis c pkg config cflags libs gtk 2 0 libs clutter gtk 1 0 libs gthread 2 0 Wall o evi
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • php exec 返回的结果比直接进入命令行要少

    我有一个 exec 命令 它的行为与通过 Penguinet 给 linux 的相同命令不同 res exec cd mnt mydirectory zcat log file gz echo res 当将命令直接放入命令行时 我在日志文件
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • 高效的内存屏障

    我有一个多线程应用程序 其中每个线程都有一个整数类型的变量 这些变量在程序执行期间递增 在代码中的某些点 线程将其计数变量与其他线程的计数变量进行比较 现在 我们知道在多核上运行的线程可能会无序执行 一个线程可能无法读取其他线程的预期计数器
  • PyQt5 - 无法使用 QVideoWidget 播放视频

    from PyQt5 QtWidgets import from PyQt5 QtMultimedia import from PyQt5 QtMultimediaWidgets import from PyQt5 QtCore impor
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两

随机推荐

  • 高级JAVA开发 MQ部分

    高级JAVA开发 MQ部分 MQ MQ的作用 为什么要用MQ 常见的MQ的优缺点 使用MQ带来的问题以及处理办法 MQ带来的问题列举 消息重复消费 幂等 问题 消息丢失问题 消息顺序性问题 消息过期丢失 大量积压等问题 如何保证MQ高可用性
  • 斯坦福小镇升级版——AI-Town搭建指南

    导语 8月份斯坦福AI小镇开源之后 引起了 AIGC 领域的强烈反响 但8月份还有另一个同样非常有意义的 AI Agent 的项目开源 a16z主导的 AI Town 本篇文章主要讲解如何搭建该项目 如有英文基础或者对这套技术栈熟悉 可直接
  • 用list列表以行方式创建DataFrame

    DataFrame默认会将一维list作为列处理 需要将一维list转为二维才能实现想要的效果 A 1 2 3 4 5 直接pd DataFrame a 得到的是一个1列5行的df 正确方式是 pd DataFrame A 原文链接 htt
  • 个人博客系统(附源码)

    前面学习了那么多的理论知识 一直比较枯燥 今天就做个小项目 来检验一下前面的学习成果吧 有需要源代码的小伙伴可以来看看 个人博客系统 这个小项目主要是模仿CSDN做的 但是功能还是比较少的 只是写出了一些主要的功能 下面就一起来看看吧 目录
  • Merge AVHD with VHD

    AVHD is a file created when you perform snapshot Once you delete the snapshot and shutdown the Virtual Machine automatic
  • Protobuf类型

    1 基本类型 这些是原始的基本数据类型 用于存储数值和字符串 包括 double 双精度浮点数 float 单精度浮点数 int32 32 位有符号整数 int64 64 位有符号整数 uint32 32 位无符号整数 uint64 64
  • centos7升级gcc10.1.0,gdb9.2

    https www gnu org prep ftp html 先找一个亚洲的镜像站点 选一个站点 打开gcc或者gdb目录 选择自己想要安装的版本 我这里选择的gcc 10 1 0和gdb 9 2 http mirrors nju edu
  • smart bi 学习

    Smartbi 安装 部署 测试 官方文档 数据连接 关系数据库 选择数据连接选关系数据库 配置 连电脑本地的数据库 用户名 密码 root root 端口 3306 ip localhost mysql 数据库选的lyj 1 数据库管理
  • [React]为什么写React组件的时候,需要先引入React?

    React相信各位伙伴都不陌生 那么你的React技术还好吗 来跟我一起重学一遍React 看看有什么知识是你没有记住的呢 一起来查漏补缺下 目录 为什么有的React页面及组件在写的时候需要引入 React 为什么会出现这个问题 Reac
  • Android多屏幕适配-平板

    http blog csdn net qq 27570955 article details 53207600 1 常用单位及其关系 px 像素 inch 英寸 pt 1 72 英寸 dpi 一英寸长的直线上的像素点的数量 即像素密度 不同
  • 软件测试人员分工详情

    最近看了点敏捷测试的东西 看得比较模糊 一方面是因为没有见真实的环境与流程 也许它跟本就没有固定的模式与流程 它就像告诉人们要 勇敢 努力 有的人在勇敢的面对生活 有些人在勇敢的挑战自我 有些人在勇敢的面对失败与挫折 好吧 他们都实现了 勇
  • Vue报错之$nextTick

    今天在生产上面出现了一个问题 我们作为一个整个的项目 我们制作的报账系统是其中一个的子系统 但是现在出现了一个问题 因为我们是共同使用一个前段 而且我们是最先上线的 就导致其他的系统在模仿我们的代码情况 然后他们修改了我们的代码中的公共部分
  • ESP32-土壤湿度传感器

    ESP32 土壤湿度传感器使用 土壤湿度传感器介绍 一 连接传感器引脚 二 使用步骤 1 创建代码 2 保存运行 总结 土壤湿度传感器介绍 提示 土壤湿度传感器 有很多种 我这里用的是电阻式土壤湿度传感器 其原理是 把传感器插入土壤中 不同
  • OpenGL--光源

    OpenGL至少支持8个光源 要查询OpenGL实现支持的光源数 可调用glGetIntegerv 要启用或者禁用光源 分别使用glEnable GL LIGHTi 和glDisable GL LIGHTi 其中i的可能取值为0到GL MA
  • mysql查询所有分类前三的数据

    设计思路 当mysql查询有很多分类时 可能只需要每种分类的前三或者前十的数据 不需要返回所有的结果 所以我们可以给不同种类的数据添加序号 然后通过序号来筛选结果 例 建一张工人工作质量表 用年份和质量来分类 CREATE TABLE wo
  • kali如何使用中文语言包的方法

    kali linux2020 06版如何使用中文语言包 原来kali还需要使用独立的汉化包 现在中文语言包是集成在系统中的 但安装上去默认的还是英文 对于我这种英文欠佳的不太友好 于是 打开终端 输入 sudo dpkg reconfigu
  • angular2 对于DOM元素的获取与操作

    为了能够支持跨平台 angular通过抽象层封装了不同平台的差异 正确操作DOM的方式 用ElementRef和Renderer2 这篇文章将讲述如何使用Renderer2来操作DOM元素 我们可以使用Renderer2对元素的class和
  • 基于改进多目标粒子群算法的配电网储能选址定容——附Matlab代码

    目录 摘要 主要内容 程序思路 储能选址定容优化模型 1 节点电压波动 2 负荷波动 3 储能系统容量 改进的多目标粒子群算法 1 自适应权重 2 交叉变异 3 种群全局最优解的选取 算例分析及结果 本文Matlab代码分享 摘要 以系统节
  • 人工智能:分类算法——朴素贝叶斯、决策树的简单理解与代码实现,SVM、人工神经网络的简单理解

    下文使用代码 链接 pan baidu com s 1sR2bt Iu89M3h 8XMPjEuQ 提取ey3q 分类算法朴素贝叶斯 决策树 SVM 人工神经网络 汽车分类实战 一 实验目的 二 实验的硬件 软件平台 三 实验算法原理 一
  • Linux查看应用的CPU、内存使用情况

    目录 一 jps命令 二 ps命令 三 top命令 四 free命令 五 df命令 查看应用的CPU 内存使用情况 使用jps ps top free df命令查看 一 jps命令 可以列出本机所有java应用程序的进程pid jps op