Mac 系统上控制台常用性能查看命令

一、top命令显示

在这里插入图片描述
在macOS的控制台中,top命令提供了系统当前运行的进程的详细信息以及整体系统资源的利用情况。下面是对输出中各个字段的解释:

Processes:
483 total: 系统上总共有483个进程。
2 running: 当前有2个进程正在运行。
481 sleeping: 当前有481个进程处于休眠状态。
2459 threads: 系统上总共有2459个线程。
Load Avg:
3.56, 3.97, 3.69: 分别表示过去1分钟、5分钟和15分钟的平均负载。平均负载是指系统处于运行状态和不可中断睡眠状态的平均进程数。数值越高,表示系统越繁忙。
CPU usage:
2.63% user: 用户空间占用的CPU百分比。
4.19% sys: 内核空间占用的CPU百分比。
94.17% idle: CPU空闲的百分比。
SharedLibs:
407M resident: 共享库占用的常驻内存大小。
70M data: 共享库中的数据段大小。
29M linkedit: 链接编辑段的大小。
MemRegions:
403134 total: 内存区域的总数。
1635M resident: 常驻内存区域的大小。
64M private: 私有内存区域的大小。
757M shared: 共享内存区域的大小。
PhysMem:
8173M used: 已使用的物理内存。
2381M wired: 被固定不可移动的物理内存。
2242M compressor: 被压缩机制管理的物理内存。
18M unused: 未使用的物理内存。
VM:
39T vsize: 虚拟内存大小。
3570M framework vsize: 框架虚拟内存大小。
70908434(0) swapins: 交换进的次数。
73439259(0) swapouts: 交换出的次数。
Networks:
packets: 14679368/14G in: 接收的数据包数量和总数据量。
8844419/1539M out: 发送的数据包数量和总数据量。
Disks:
15216306/470G read: 读取的磁盘块数量和总数据量。
8178170/365G written: 写入的磁盘块数量和总数据量。
PID, COMMAND, %CPU, TIME, #TH, #WQ, #PORT, MEM, PURG, CMPRS, PGRP, PPID, STATE, BOOSTS, %CPU_ME, %CPU_OTHRS, UID, FAULTS, COW, MSGSENT, MSGRECV:
PID: 进程ID。
COMMAND: 进程名称或命令行。
%CPU: 进程占用的CPU百分比。
TIME: 进程自启动以来的总CPU时间。
#TH: 进程中的线程数。
#WQ: 等待队列中的线程数。
#PORT: 进程使用的端口数。
MEM: 进程使用的物理内存大小。
PURG: 进程被清除的内存大小。
CMPRS: 进程被压缩的内存大小。
PGRP: 进程组ID。
PPID: 父进程ID。
STATE: 进程状态(如运行、休眠等)。
BOOSTS: 进程的优先级提升计数。
%CPU_ME: 进程在用户模式下的CPU占用百分比。
%CPU_OTHRS: 进程在其他模式下的CPU占用百分比。
UID: 进程所属用户的用户ID。
FAULTS: 进程引起的页错误数。
COW: 写时复制页数。
MSGSENT: 进程发送的消息数。
MSGRECV: 进程接收的消息数。
这些字段提供了对系统当前状态的深入理解,有助于诊断性能问题和资源使用情况。

二、iostat 1 5

  • 参数 1 5 表示每隔 1s 查询一次,总共查询 5 次
  • 用于监控设备的 IO 负载情况
    在这里插入图片描述

三、df -h

  • 列出文件系统的整体磁盘空间使用情况
    在这里插入图片描述

四、uptime

  • 用于显示系统总共运行了多长时间和系统的平均负载
    在这里插入图片描述

五、sysctl 命令:

  • sysctl machdep.cpu.brand_string:显示 CPU 的品牌信息,例如 “Intel® Core™ i7-8750H CPU @ 2.20GHz”。
  • sysctl -n machdep.cpu.core_count:显示 CPU 的核心数(物理核心数)。
  • sysctl -n machdep.cpu.thread_count:显示 CPU 的逻辑处理器数(包括超线程技术下的线程数)。
  • 其他参数如hw.activecpu、hw.cpufrequency等也可以提供关于CPU的详细信息

六、system_profiler:

  • system_profiler SPHardwareDataType:显示硬件的详细信息,其中包括 CPU 的型号、速度、核心数等
    在这里插入图片描述

七、ifconfig

  • 用于获取网卡配置和网络信息
    在这里插入图片描述

八、netstat 在MacOS命令

-r:显示路由表信息。路由表是一个关键的网络配置工具,用于确定网络数据包应该如何转发。
-n:以数值形式显示地址,而不是尝试解析主机名。这可以提高命令执行速度,并确保信息的准确性。
-a:显示所有选项,包括默认不显示的LISTEN相关的连接。
-t:仅显示TCP相关的选项。
-u:仅显示UDP相关的选项。
-p:显示建立相关连接的程序名(注意:在macOS上,使用此选项时需要指定协议,如TCP或UDP)。
-v:显示详细的信息(在某些版本的macOS中可能不支持)。
-f:指定地址族,如inet(IPv4)或inet6(IPv6)。
-i:显示网络接口信息。
-s:按各个协议进行统计。

九、ps 相关的命令

  • 显示所有进程信息:
ps -A
or
ps -e
  • 显示指定用户的进程信息:
ps -u 用户名
  • 显示所有进程的完整信息:
ps -ef
  • 以长格式显示当前终端的进程信息:
ps -l
  • 显示所有用户的所有进程信息:
ps aux

在这里插入图片描述

  • 与 awk 配合命令,进行过滤使用,例如过滤下面第二行数据:
    501 49083 48665 0 4:28下午 ttys000 0:00.00 grep tomcat
ps -ef |grep tomcat |awk '{print $2}'

49083

  • 在控制台上将 PID 赋值给变量;
PID=$(ps -ef | grep tomcat | grep -v grep | awk '{print $2}')

注意,这里添加了 grep -v grep 来排除掉包含 grep 命令本身的那一行,因为 grep tomcat 也会匹配到包含 grep tomcat 的命令行。

  • 检查变量是否成功赋值:
echo $PID

如果 Tomcat 正在运行,这将输出 Tomcat 进程的 PID。如果没有输出,说明没有找到匹配的进程。

  • 使用变量:
    现在您可以使用 $PID 变量来执行其他操
kill -9 $PID

注意,使用 kill -9 会强制终止进程,这可能会导致数据丢失或其他问题。通常,您应该首先尝试使用 kill $PID 或 kill -15 $PID 来优雅地终止进程。

<think>嗯,用户想知道如何在Mac上使用top命令查看线程信息。首先,我需要回忆一下Mac的top命令和Linux的区别。记得在Linux里,top命令可以用-H选项来显示线程,但Mac的top可能参数不同。根据用户提供的系统级指令里的引用[1],提到top命令需要加-h选项来查看qemu hypervisor进程的所有线程,但那个例子是针对Linux的,可能和MacOS不同。 接下来,我应该确认MacOS下top命令的正确参数。根据经验,Mac的top默认可能不会显示线程,需要特定的参数。可能需要使用-o参数来指定排序,或者用其他选项。这时候可能需要查资料或者回忆之前的经验。 然后,用户的问题需要分步骤回答。首先是如何启动top并查看线程,然后是实时操作中的快捷键。另外,用户可能需要过滤特定进程的线程,所以可能需要结合ps命令。例如,使用ps -M来显示线程,或者结合pgrep和top。 还要注意,MacOS的top和Linux的工具有差异,比如没有H键切换线程显示,可能需要用命令行参数。比如,启动top时用top -l 0 -o cpu -threads yes,但不确定这个参数是否正确。可能需要验证一下。 另外,用户提供的引用[1]提到top -h,但在Mac上,top的帮助可以通过man top查看。比如,在终端输入man top,查找相关选项。例如,-o用来指定排序字段,-stats显示哪些列,而-threads参数可能控制是否显示线程。 最后,总结步骤:启动top时使用-threads yes参数,然后在交互模式中调整显示列,或者使用ps命令配合M参数来查看线程。同时,提醒用户注意Mac和Linux的差异,避免混淆。</think>### MacOS 使用 `top` 命令查看线程信息的方法 #### 1. **启动 `top` 并显示线程** 在 MacOS 中,`top` 默认以进程为单位显示信息。若需查看线程级详细信息,可通过以下命令启动: ```bash top -l 0 -stats pid,command,cpu,threads,state -o cpu -threads yes ``` - `-l 0`: 持续刷新(类似 Linux 的 `top -d`) - `-stats`: 指定显示的列(PID、命令、CPU 占用、线程数、状态) - `-threads yes`: 强制显示线程信息(MacOS 特有参数)[^1] - `-o cpu`: 按 CPU 使用率降序排列 #### 2. **交互模式中查看线程** 若已运行 `top`,可通过以下按键操作: - 按 `?` 查看帮助 - 按 `o` 后输入 `threads` 筛选线程视图 - 按 `c` 显示完整命令路径 #### 3. **结合 `ps` 命令过滤线程** 若需查看特定进程的线程,可先用 `ps` 获取进程 PID: ```bash ps -ax | grep [进程名] ``` 再通过 `top` 过滤: ```bash top -pid [PID] -l 0 -threads yes ``` #### 4. **使用 `ps -M` 查看线程** MacOS 的 `ps` 命令支持 `-M` 参数直接显示线程: ```bash ps -M [PID] ``` 输出中 `THREAD` 列表示线程 ID,`COMMAND` 列显示线程名称。 --- ### 注意事项 1. **与 Linux 的区别** MacOS 的 `top` 参数与 Linux 差异较大,例如: - 无 `-H` 参数(Linux 中用于显示线程) - 线程信息需通过 `-threads yes` 显式启用 2. **资源占用** 持续刷新的 `top` 可能增加系统负载,建议调试完成后及时关闭。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn_金手指

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值