当前位置: 首页 > article >正文

htop:Linux系统进程监控与性能分析利器

1. 项目概述为什么我们需要一个比top更好的工具如果你在Linux或类Unix系统上做过运维、开发或者仅仅是好奇过自己的服务器或电脑到底在“忙”些什么那么top命令几乎是你绕不开的第一个工具。它像系统资源的一个实时仪表盘告诉你CPU、内存谁在用哪些进程最“贪婪”。然而用久了你会发现top的交互体验怎么说呢有点像是开一辆只有手动挡和机械仪表盘的老爷车——功能都有但操作起来总感觉隔着一层。这就是htop诞生的背景。它不是一个全新的概念而是对经典top工具的一次现代化、人性化的全面升级。你可以把它理解为top的“豪华增强版”。它保留了top的核心监控能力但在交互界面、信息呈现和操作便捷性上做了革命性的改进。我第一次接触htop是在排查一台高负载的Web服务器时面对top里密密麻麻的进程列表需要不断按“P”按CPU排序、“M”按内存排序来切换视图查找异常进程的效率很低。同事推荐了htop安装后打开的那一刻那种色彩分明、支持鼠标点击、树状视图展示进程关系的界面瞬间让我感觉“回不去了”。简单来说htop解决了top的几个核心痛点信息展示不直观单色、列表式、交互方式不友好纯键盘快捷键且繁多难记、上下文信息不足难以直观看出进程父子关系。它适合所有需要与系统进程打交道的用户从系统管理员、后端开发者到进阶的桌面用户都能从中大幅提升工作效率和问题排查的愉悦感。2. htop的核心优势与设计理念拆解2.1 可视化信息呈现从字符到“界面”top的输出是静态的字符列表而htop则构建了一个动态的、可视化的控制台界面。这是两者最根本的区别。彩色编码系统状态htop使用颜色来快速传递信息。例如CPU使用率条通常用不同颜色区分用户态绿色、内核态红色、低优先级蓝色和虚拟化青色等状态。内存和交换分区Swap的使用情况也用不同色块清晰标示。这种视觉设计让你一眼就能把握系统整体健康度比如一片红色可能意味着内核繁忙大量蓝色可能指示存在I/O等待。纵向资源条与横向列表的融合界面顶部是横向的CPU核心、内存、交换分区使用率条形图下方是纵向的进程列表。这种布局模仿了现代图形化任务管理器符合用户的直觉。你可以同时看到整体资源消耗和具体的“罪魁祸首”而无需在top中切换不同的显示模式。树状视图展示进程关系这是htop的杀手级功能之一。通过按F5键进程列表会从扁平列表切换为树状结构清晰地展示父进程与子进程的派生关系。这对于理解像Web服务器如Apache prefork模式、容器化应用Docker或由systemd/supervisor管理的服务进程链至关重要。在top里你很难一眼看出哪些进程属于同一个服务组。2.2 交互模式的革新鼠标与键盘的和谐共舞top是一个纯粹的键盘驱动工具快捷键虽然强大但学习曲线陡峭。htop在保留并优化键盘快捷键的同时引入了鼠标支持这极大地降低了使用门槛。鼠标直接操作你可以直接用鼠标点击顶部的CPU条查看每个核心的详情点击进程列表的表头如CPU%、MEM%进行排序甚至可以直接点击某个进程然后通过底部菜单或右键菜单对其进行操作如结束进程、改变优先级。对于从图形界面过渡过来的用户这非常友好。精简且直观的快捷键htop的快捷键设计更符合逻辑。例如F2进入设置SetupF3搜索进程SearchF4过滤进程FilterF9结束进程KillF10退出。这些功能键的布局在界面底部有常驻提示无需记忆。相比之下top的快捷键如k结束进程、r调整优先级需要用户事先知道或查阅手册。实时配置与个性化在htop运行中按F2可以直接进入设置界面你可以动态调整显示列、颜色主题、刷新速率等并立即生效。这意味着你可以根据当前排查任务比如专注看I/O还是看内存快速定制监控面板。top虽然也有配置但通常需要通过配置文件或命令行参数预定义不够灵活。2.3 更丰富、更相关的进程信息top默认显示的进程信息相对基础PID、用户、CPU、内存、命令。htop默认就提供了更全面的信息列并且可以轻松自定义。默认包含的关键列除了基础信息htop通常默认显示STATE进程状态运行、睡眠、僵尸等用单个字符清晰表示。PRI和NI进程的优先级Priority和友好值Nice对于性能调优很重要。VIRT、RES、SHR更详细的内存使用情况虚拟内存、常驻物理内存、共享内存。TIME进程累积使用的CPU时间格式更易读。可添加的专业级指标通过设置你可以轻松添加更多列例如IO_RATE或IO_READ/IO_WRITEI/O读写速率对于诊断磁盘瓶颈至关重要。PERCENT_CPU和PERCENT_MEM更精确的百分比。PPID父进程ID即使在扁平列表下也能看到关系。USER进程所属用户。CGROUP进程所属的Cgroup控制组在容器化和云原生环境中非常有用。注意添加过多列会挤占屏幕空间建议根据实际监控需求进行选择。例如排查数据库性能问题时我通常会加上IO_RATE和CGROUP列。3. htop的安装与基础配置指南3.1 跨平台安装方法htop在绝大多数Linux发行版的官方仓库中都有收录安装非常简单。基于Debian/Ubuntu的系统sudo apt update sudo apt install htop基于RHEL/CentOS/Fedora的系统对于较老的RHEL/CentOS 7可能需要先启用EPEL仓库。# CentOS/RHEL 7 (需要EPEL) sudo yum install epel-release sudo yum install htop # CentOS/RHEL 8 / Fedora sudo dnf install htop基于Arch Linux的系统sudo pacman -S htopmacOS系统可以通过Homebrew包管理器安装。brew install htop安装完成后直接在终端输入htop即可启动。你会发现它不需要sudo权限就能运行以当前用户身份查看所有进程但如果你想对高权限进程进行操作如结束root进程则可能需要用sudo htop启动。3.2 首次运行与界面速览启动htop后你会看到一个类似下图的界面尽管是文本界面。我们来快速认识一下各个区域顶部信息区Header第一行系统运行时间、负载平均值1分钟、5分钟、15分钟、总进程/线程数。第二行CPU使用率条形图每个逻辑核心或一个聚合条。颜色是关键。第三行物理内存Mem和交换空间Swp的使用情况条形图及数字百分比。进程列表区Task Area这是主体部分显示每个进程的详细信息。每一列都可以通过点击表头进行排序。底部命令区Footer这里常驻显示最常用的功能键提示如F2设置、F3搜索、F9结束进程等。这是你的操作指南。3.3 个性化配置入门F2 Setup按F2进入设置菜单这是发挥htop威力的关键。设置菜单也采用彩色界面使用方向键导航。显示选项Display optionsMeters这是配置顶部信息区显示内容的地方。你可以添加、删除或调整“仪表”Meter的位置。除了默认的CPU、内存、负载你还可以添加“时钟”、“网络流量”、“磁盘I/O”等。我个人的习惯是在左侧添加一个“时钟”在右侧添加所有CPU核心的独立条形图中间放内存和负载。Colors可以切换预置的颜色主题或者自定义不同元素的颜色。如果你在终端主题下看不清可以在这里调整。Columns这是最重要的设置之一。你可以选择在进程列表中显示哪些信息列并调整它们的顺序。用方向键选中“Available Columns”按空格键添加到你想要的“Active Columns”区域然后用F7/F8调整顺序。性能与刷新Setup-Meters-CPUAll建议将“CPUAll”这个Meter的样式设置为“Bar”这样可以看到所有核心的聚合使用情况。再单独添加一个“CPU1”并将其“Caption”改为“CPU Cores”样式设置为“Text”这样可以在一个紧凑区域看到所有核心的编号和单独使用率。刷新速率在设置菜单的“Setup”标签页下可以调整“Delay”刷新间隔单位是十分之一秒。默认是15即1.5秒。对于实时监控可以调到5或100.5-1秒为了减少系统开销可以调到20或30。实操心得配置完成后记得使用方向键移动到“Save”按钮通常在底部然后按回车保存到~/.config/htop/htoprc文件。这样下次启动htop时你的个性化设置就会自动加载。这个配置文件是纯文本的高级用户甚至可以直接编辑它。4. htop核心功能详解与实战技巧4.1 进程的查找、过滤与跟踪当系统中有数百个进程时快速定位目标进程是首要任务。htop提供了多种高效方式。实时搜索F3按F3输入进程名或命令的一部分htop会高亮显示匹配的进程并自动将视图滚动到该进程位置。这是最快速的单次查找方法。搜索是增量式的输入字符的同时就在匹配。进程过滤F4这是比搜索更强大的功能。按F4输入过滤条件如nginx、java或userapphtop会只显示符合过滤条件的进程其他进程被暂时隐藏。这对于集中观察某一类进程如所有Python进程、某个用户的所有进程的行为模式非常有用。要清除过滤只需再次按F4并删除过滤条件即可。树状视图F5如前所述树状视图能揭示进程间的层级关系。在排查“僵尸进程”Zombie时特别有用你可以清晰地看到是哪个父进程没有回收其子进程。在容器环境中你也能看到容器引擎如containerd、dockerd与其管理的容器进程之间的关系。进程跟踪Trace选中一个进程按s小写htop会尝试使用strace工具跟踪该进程的系统调用。这是一个高级调试功能可以让你看到进程正在与内核进行哪些交互如文件读写、网络通信。这对于理解进程“卡”在哪里非常有帮助但会产生大量输出建议在明确需要时使用。4.2 进程操作与管理htop让进程管理变得像在图形界面中一样简单直观。结束进程F9选中目标进程按F9会弹出一个信号Signal选择菜单。最常用的是SIGTERM (15)默认选项。礼貌地请求进程终止允许进程进行清理工作。这是首选方式。SIGKILL (9)强制立即终止进程不给任何清理机会。用于进程不响应SIGTERM时。慎用可能导致数据丢失或状态不一致。SIGINT (2)相当于在终端按CtrlC通常用于中断前台运行的程序。你可以用上下键选择信号回车发送。相比top中需要先按k再输入PIDhtop的交互友好太多。调整进程优先级Nice值选中进程按F7提高优先级Nice值减小或F8降低优先级Nice值增大。调整范围通常是-20最高优先级到19最低优先级。普通用户只能降低优先级增大Nice值需要root权限才能提高优先级。这在需要临时为某个计算密集型任务让出CPU资源时很实用。进程标记与批量操作这是一个隐藏的利器。按空格键可以标记高亮一个进程。你可以标记多个进程然后对它们执行批量操作比如一次性发送同一个信号F9给所有标记的进程。这在需要清理一组同类异常进程时效率极高。4.3 系统级监控与数据解读htop顶部的仪表盘提供了丰富的系统级指标正确解读它们是诊断系统健康状态的基础。CPU使用率条形图不同颜色含义可在设置中自定义但通常绿色用户态进程使用的CPU时间。红色内核态系统使用的CPU时间。持续偏高可能意味着系统调用频繁或存在内核瓶颈如上下文切换过多。蓝色低优先级Nice值0进程使用的CPU时间。青色虚拟化环境如Xen、KVM中 steal time即物理CPU被宿主机或其他虚拟机占用的时间。在云服务器上这个值持续高企可能意味着邻居“吵闹”或你需要升级实例规格了。黄色/橙色通常代表硬件中断IRQ或软件中断SoftIRQ时间。内存与交换空间Mem条形图显示物理内存使用情况。关注RES进程实际占用的物理内存的累计是否接近总量。Linux会利用空闲内存做缓存Cache和缓冲Buffer所以“已用”内存高不一定有问题要看是否伴有Swap使用。Swp条形图交换空间使用情况。这是关键健康指标。如果Swap使用量持续增长说明物理内存已严重不足系统正在频繁地将内存页换出到磁盘这会导致性能急剧下降磁盘I/O比内存慢几个数量级。一旦发现Swap使用活跃应立即着手排查内存泄漏进程或考虑增加物理内存。负载平均值Load Average 显示在顶部第一行三个数字分别代表过去1分钟、5分钟、15分钟的系统平均负载。对于单核CPU1.0表示CPU刚好满负荷对于4核CPU4.0表示满负荷。需要结合CPU使用率来看负载高CPU使用率也高CPU是瓶颈。负载高但CPU使用率不高可能遇到了I/O瓶颈磁盘或网络或大量进程在等待锁。进程处于“可运行”状态但无法获得CPU时间也会推高负载。5. 高级用法与场景化实战5.1 性能瓶颈排查实战假设你收到告警服务器响应变慢。登录后你首先启动htop。第一步整体观感。看顶部区域CPU是否有一两个核心跑满红色或绿色长条还是所有核心都处于中等负载内存条是否快满了Swap是否开始使用负载平均值是否远高于CPU核心数第二步定位“元凶”。在进程列表区点击CPU%列头按CPU使用率降序排列。排在第一的进程通常就是最消耗CPU的。但要注意如果是一个多线程程序如Java、Nginx它可能会产生多个进程/线程分散在列表各处。此时使用F4过滤进程名观察该程序所有线程的CPU总和。第三步深入分析。选中可疑的高CPU进程观察其其他指标STATE如果一直是R运行中那确实是计算密集型。如果S睡眠和R频繁切换可能是I/O密集型。查看其IO_RATE如果已添加该列确认是否伴有高磁盘读写。按F5切换到树状视图看它是否产生了大量子进程可能是某个脚本在疯狂 fork。第四步I/O瓶颈排查。如果CPU和内存都不高但负载很高系统感觉“卡”很可能是I/O瓶颈。在htop设置中添加IO_READ_RATE和IO_WRITE_RATE列然后按I/O速率排序。找到读写最频繁的进程。同时结合系统命令如iostat或iotop另一个专门工具进行交叉验证。案例记录我曾遇到一个PHP-FPM服务器CPU使用率不高但负载飙升的情况。htop中按CPU排序找不到明显异常。添加IO列后发现一个日志切割脚本logrotate正在压缩一个巨大的日志文件导致磁盘I/O爆满。通过F9给该压缩进程发送SIGSTOP信号临时暂停它系统负载立刻下降确认了问题根源。5.2 在容器化环境中的应用在现代容器化部署中如Docker, Kuberneteshtop依然大有可为。查看容器进程在宿主机上运行htop你可以看到所有容器内运行的进程。它们通常以容器运行时如containerd-shim、runc作为父进程。通过树状视图F5可以清晰地看到这个层级关系。识别资源消耗者当某个容器资源使用异常时你可以在htop中通过过滤F4进程命令或Cgroup路径来快速定位属于该容器的所有进程并统计其总资源消耗。添加CGROUP列可以更直观地看到进程所属的控制组路径。与cAdvisor等工具互补htop提供的是宿主机视角的、进程粒度的实时数据。它比像cAdvisor这样的容器监控工具更底层、更实时适合进行即时的问题诊断和干预。而cAdvisor则提供了更聚合的、容器粒度的历史数据和更丰富的指标。5.3 自定义脚本与自动化集成htop不仅是一个交互式工具也可以以非交互模式运行这为自动化监控和告警提供了可能。批处理模式使用htop -C或--no-color和重定向可以将其输出保存到文件或传递给其他文本处理工具如grep,awk。例如写一个定时任务cron job每隔一段时间运行一次htop -b -n 1 /tmp/htop_snapshot.log其中-b表示批处理模式-n 1表示只输出一次。然后可以用脚本分析这个快照文件提取特定进程的资源使用情况。进程状态检查脚本你可以编写一个Shell脚本利用htop的过滤功能来检查特定服务是否存活及其资源占用。虽然pgrep和ps更轻量但htop的树状视图和丰富信息在复杂排查脚本中有时更有优势。注意事项虽然htop功能强大但它本身运行也会消耗一定的系统资源主要是CPU用于刷新界面和收集数据。在生产环境的高负载服务器上如果资源已经极度紧张运行htop可能会对系统造成额外压力甚至影响你的诊断。此时考虑使用更轻量的命令组合如ps auxf、pidstat、vmstat 1等或者先通过top快速看一眼再用htop进行深入分析。6. 常见问题排查与使用技巧实录即使对htop很熟悉在实际使用中还是会遇到一些疑问和困惑。这里记录了一些常见问题和我的解决经验。问题1htop中看到的CPU使用率总和超过100%这是正常的也是htop和top的一个特点。每个核心的100%是独立的。对于一个4核CPU系统如果有一个单线程进程占满了一个核心那么它的CPU%会显示接近100%。如果它占满了两个核心就会显示接近200%。因此所有进程的CPU%之和可以超过100%上限是核心数 * 100%。顶部条形图显示的是每个核心或所有核心的平均使用率。问题2进程状态STATE里的字母都是什么意思这是理解进程行为的关键。常见状态有R(Running/Runnable): 正在运行或可运行在运行队列中。S(Sleeping): 可中断的睡眠状态通常是在等待I/O操作完成如磁盘读写、网络响应。D(Disk Sleep): 不可中断的睡眠状态。进程通常在等待磁盘I/O无法被信号即使是SIGKILL中断。这是系统可能“卡住”的一个迹象需要等待I/O完成。Z(Zombie): 僵尸进程。进程已终止但其退出状态尚未被父进程读取wait()。少量僵尸进程通常无害但大量出现表明父进程有问题。T(Stopped): 进程被信号如SIGSTOP暂停或正在被调试器跟踪。问题3如何清理htop界面只关注我想看的信息过滤F4这是最直接的方法只显示相关进程。隐藏用户进程在设置F2的“显示选项”中可以开启“隐藏用户进程”或“隐藏内核线程”让列表更简洁。自定义列移除不需要的信息列只保留关键几项如PID, USER, CPU%, MEM%, COMMAND, STATE。调整Meters移除顶部你不关心的仪表比如如果你不关心交换分区可以移掉Swp Meter。问题4htop和glances、btop等其他工具比怎么样这是一个很好的问题。glances是一个更全面的跨平台监控工具除了进程还能监控网络、磁盘、传感器温度等信息更聚合适合快速总览。btop是htop的一个现代化“复刻”使用C编写界面更华丽有更多的图表和可视化元素资源占用相对也高一点。htop的定位专注于进程管理的深度和交互效率。它的树状视图、进程操作、过滤和搜索在进程层面的专业性和便捷性上目前依然领先。如何选择对于日常系统监控和快速健康检查glances可能更省心。对于需要深入分析进程行为、进行频繁的进程查找和操作如开发调试、运维排障htop仍然是首选。btop则适合喜欢更炫酷界面、且系统资源充裕的用户。一个独家小技巧快速定位内存泄漏嫌疑犯内存问题有时比CPU问题更隐蔽。在htop中我常用的方法是按F4过滤出你怀疑的应用程序进程如java。按ShiftM在过滤后的列表中按内存使用率MEM%降序排列。观察RES列。记录下前几名进程的RES值和PID。等待一段时间比如10分钟或者让系统执行一些可能触发泄漏的操作。再次观察这些相同PID进程的RES值。如果某个进程的RES值在持续、稳定地增长而它的工作负载并没有相应增加那么它就很可能是内存泄漏的源头。结合树状视图可以进一步确认是否是某个子进程或线程池的问题。这个方法帮我定位过不止一次应用级别的缓慢内存泄漏。

相关文章:

htop:Linux系统进程监控与性能分析利器

1. 项目概述:为什么我们需要一个比top更好的工具?如果你在Linux或类Unix系统上做过运维、开发,或者仅仅是好奇过自己的服务器或电脑到底在“忙”些什么,那么top命令几乎是你绕不开的第一个工具。它像系统资源的一个实时仪表盘&…...

开发者的文件对比神器:Beyond Compare 4在Linux下从安装、汉化到‘延长试用’的完整指南

Beyond Compare 4在Linux环境下的高效应用指南 对于开发者而言,文件与目录的高效对比是不可或缺的日常工作。无论是代码版本管理、配置文件同步还是数据校验,一个强大的对比工具都能显著提升工作效率。Beyond Compare作为业界公认的专业对比工具&#xf…...

别再只调图像模型了!手把手教你用PaddlePaddle搞定视频分类(融合文本、语音、图像三模态)

三模态视频分类实战:用PaddlePaddle构建融合图像、语音与文本的智能系统 短视频平台每天产生海量内容,单纯依靠人工审核早已力不从心。传统单模态分类模型仅分析视频画面,难以识别背景音乐违规或字幕敏感信息。本文将带你用PaddlePaddle实现一…...

ChatGPT Web代码贡献指南:从fork到pull request完整流程

ChatGPT Web代码贡献指南:从fork到pull request完整流程 【免费下载链接】chatgpt-web A third-party ChatGPT Web UI page built with Express and Vue3, through the official OpenAI completion API. / 用 Express 和 Vue3 搭建的第三方 ChatGPT 前端页面, 基于 …...

从安卓4到安卓12:手把手教你搞定XP、EdXposed、LSPosed三大框架(附版本选择指南)

安卓模块化框架演进史:从XP到LSPosed的技术迭代与实战指南 在安卓系统的开放生态中,模块化框架始终扮演着拓展系统能力的核心角色。十年前,当开发者首次通过Xposed框架在不修改APK的情况下实现功能增强时,这种"热插拔"式…...

The Most Dangerous Writing App 快速入门指南:如何在5秒内开始高效写作

The Most Dangerous Writing App 快速入门指南:如何在5秒内开始高效写作 【免费下载链接】themostdangerouswritingapp If you stop typing for more than five seconds, all progress will be lost. 项目地址: https://gitcode.com/gh_mirrors/th/themostdangero…...

clipboardy跨平台兼容性解析:支持macOS、Windows、Linux的完整解决方案

clipboardy跨平台兼容性解析:支持macOS、Windows、Linux的完整解决方案 【免费下载链接】clipboardy Access the system clipboard (copy/paste) 项目地址: https://gitcode.com/gh_mirrors/cl/clipboardy clipboardy是一款功能强大的跨平台剪贴板工具&#…...

ItsyBitsy RP2040与CircuitPython实战:从硬件解析到环境数据记录仪项目

1. 项目概述:为什么选择ItsyBitsy RP2040?如果你玩过树莓派Pico,或者用过Adafruit的Feather系列开发板,那么第一次拿到ItsyBitsy RP2040时,你可能会和我有同样的感觉:这东西也太小了。它的尺寸只有1.4英寸长…...

从Arduino AVR到ARM开发板迁移:选型、代码移植与无线通信实战指南

1. 开发板选型:从AVR到ARM的跨越与抉择当你第一次打开Arduino IDE,面对Boards Manager里琳琅满目的选项,是不是有点懵?从经典的Uno R3到各种带“Feather”、“M0”、“M4”后缀的板子,选错了可不是简单的“编译不通过”…...

基于dpro-hyperliquid的Hyperliquid链上永续合约自动化交易开发指南

1. 项目概述与核心价值 最近在DeFi和链上交易领域,一个名为“dProLabs/dpro-hyperliquid”的项目引起了我的注意。简单来说,这是一个专门为Hyperliquid链上永续合约交易所设计的自动化交易工具包或策略框架。如果你是一名链上交易者,尤其是对…...

终极免费方案:3分钟解决Mac NTFS读写难题的完整指南

终极免费方案:3分钟解决Mac NTFS读写难题的完整指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management for …...

基于多模态视觉模型和图文向量模型的工业图像知识库研究与应用

目录1 概述... 12 单一模型分析的局限性... 23 多模态视觉模型和图文向量模型的优势... 34 多模态视觉模型和图文向量模型应用场景... 45 多模态视觉模型和图文向量模型原理... 46 多模态视觉模型和图文向量模型应用... 86.1 图片知识库... 86.2 检索图片... 117.总结... 13…...

kill-doc文档下载工具终极指南:轻松获取30+平台免费文档资源

kill-doc文档下载工具终极指南:轻松获取30平台免费文档资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是…...

LetsFG:命令行批量图片处理工具,提升格式转换与缩放效率

1. 项目概述与核心价值最近在整理个人工作流时,发现一个高频痛点:无论是处理设计稿、整理文档截图,还是收集网络上的灵感图片,手头总会积攒一堆不同格式、不同尺寸的图片文件。JPG、PNG、WebP、BMP……格式五花八门,尺…...

终极AMD Ryzen处理器调试指南:掌握SDT工具解锁硬件潜能

终极AMD Ryzen处理器调试指南:掌握SDT工具解锁硬件潜能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://g…...

基于单片机的盲人专用水杯系统(有完整资料)

编号:CJ-32-2022-161设计简介:本设计是基于单片机的盲人专用水杯系统,主要实现以下功能:1,OLED显示水位、温度和倒计时时间; 2,倒计时结束后,语音播报提醒喝药; 3&#x…...

Wand-Enhancer终极指南:3步免费解锁WeMod完整功能

Wand-Enhancer终极指南:3步免费解锁WeMod完整功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod高级功能付费而烦恼吗&#xf…...

基于stm32的感应式路灯(有完整资料)

编号:CJ-32-2022-158 设计简介: 本设计是基于stm32的感应式路灯设计,主要实现以下功能: 1,本设计中采用STM32F103C6T6单片机作为控制核心。 2,可通过按键设置时间、切换模式、调整灯亮度等。 3&#xff0…...

基于物联网节能及安防控制系统(有完整资料)

编号:CJ-32-2022-153设计简介:本设计是基于物联网节能及安防控制系统,主要实现以下功能:1、检测光强,室内外温度(两个温度传感器),人体红外检测是否有人; 2、室外温度过高…...

2026专业灯具照明包装设计公司权威排名榜单推荐:照明产品包装设计首选哲仕设计

2026专业灯具照明包装设计公司权威排名榜单推荐:照明产品包装设计首选哲仕设计灯具照明、灯饰配件属于家装工程通用品类,涵盖家用照明灯具、商业工程灯饰、LED光源、智能照明设备、户外防水灯具、灯饰五金配件等品类。灯饰产品属于易碎光电类产品&#x…...

开源漏洞情报自动化分诊系统:从数据采集到智能响应的工程实践

1. 项目概述:一个为开源安全情报而生的“智能爪子”如果你和我一样,长期混迹在开源软件和网络安全社区,那你一定对“漏洞情报”这个词不陌生。每天,成千上万的开源项目在更新,新的漏洞(CVE)在发…...

前端八股整理(Vue 02)|组件通信、生命周期、v-if 与 v-show

前端八股整理(Vue 02)|组件通信、生命周期、v-if 与 v-show 1.讲讲VUE中的组件通信 组件通信的基本原则是单向数据流,最基础的是父子通信:父传子通常通过 props,在 Vue3 里一般用 defineProps 接收,子组件接收父组件传…...

李辉《曾国藩日记》笔记:人到晚年,最重保全!

李辉《曾国藩日记》笔记:人到晚年,最重保全!原文:同治三年五月二十日早饭后清理文件。见客,坐见者二次,立见者一次。程希辕来,围棋二局,又观程与鲁秋航一局。习字一纸。巳刻见客二次…...

NotebookLM技能扩展:连接本地大模型实现智能文档处理

1. 项目概述与核心价值最近在折腾AI应用开发,特别是想把手头的本地大模型用起来,解决一些实际的文档处理问题。相信很多朋友和我一样,手头积累了大量笔记、报告、PDF文档,每次想从中快速找到特定信息或者进行归纳总结,…...

A*搜索算法原理与工业级优化实践

1. A*搜索算法核心原理与工程实现A搜索算法作为路径规划领域的经典算法,其核心优势在于将Dijkstra算法的完备性与贪心算法的高效性相结合。在实际工程项目中,我经常使用A来解决各类移动机器人的导航问题,它的表现始终稳定可靠。1.1 算法核心三…...

如何快速解锁WeMod完整功能:WandEnhancer终极使用指南

如何快速解锁WeMod完整功能:WandEnhancer终极使用指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer WandEnhancer是一款专为WeMod应用设计…...

别再傻傻分不清了!WPF里Shape和Geometry到底该用哪个?实战避坑指南

WPF图形渲染进阶:Shape与Geometry的深度抉择与性能优化实战 在WPF开发中,图形渲染是构建丰富用户界面的核心能力之一。当开发者需要绘制自定义图形时,通常会面临选择Shape还是Geometry的难题。这个看似简单的选择背后,实际上涉及到…...

手把手教你用TwinCAT3配置松下A6伺服,打通Simulink Real-Time实时控制(含VS版本避坑指南)

TwinCAT3与松下A6伺服深度集成指南:从EtherCAT配置到Simulink实时控制实战 引言 在工业自动化领域,实时控制系统的搭建往往伴随着复杂的软硬件协同挑战。当工程师需要将高性能伺服驱动与强大的仿真环境相结合时,EtherCAT总线技术与Simulink…...

本地AI部署实战:模块化架构、环境配置与性能调优指南

1. 项目概述:一个被低估的本地化AI工具 最近在折腾本地AI部署的时候,又翻出了这个叫“bailing”的项目。说实话,第一次在GitHub上看到 wwbin2017/bailing 这个仓库时,我差点就划过去了。名字听起来平平无奇,简介也写…...

LangGraph实战:从链式到图式AI工作流开发指南

1. 项目概述:为什么我们需要一个“Awesome-LangGraph”?如果你最近在折腾AI应用开发,尤其是那些需要让多个AI智能体协同工作、或者构建复杂业务流程的应用,那你大概率已经听过或者用过LangChain。LangChain确实是个好框架&#xf…...