详细介绍:后端开发常用Linux命令

news/2025/11/21 22:37:17/文章来源:https://www.cnblogs.com/gccbuaa/p/19254707

一、框架状态与资源监控

  1. top / htop
    • 实时查看系统 CPU、内存、进程占用情况(htop是增强版,帮助鼠标操作和更直观的界面)。
    • 常用操作:按P按 CPU 排序,按M按内存排序,快速定位 Java 进程(java关键词)的资源消耗。
  2. free -h
    • 查看内存运用情况(总内存、已用、空闲、缓存等),-h以人类可读单位(GB/MB)呈现。
    • 排查 Java 进程 OOM(内存溢出)时,先确认系统是否真的内存不足。
  3. df -h / du -sh *
    • df -h:查看磁盘分区使用率,排查日志或资料占满磁盘的问题(例如/分区满导致服务异常)。
    • du -sh *:查看当前目录下各记录 / 文件夹的大小,定位大档案(如异常增长的日志)。
  4. vmstat 1
    • 实时输出系统 CPU、内存、IO、进程切换等统计信息,间隔 1 秒刷新,用于分析系统瓶颈(如 IO 等待过高)。
  5. iostat
    • 查看磁盘 IO 性能(读写速度、IOPS、等待时间),需安装sysstat包,排查 Java 程序读写磁盘慢的难题。

二、进程与 Java 进程排查

  1. ps -ef | grep java
    • 查看所有 Java 进程的详细信息(进程 ID、启动用户、启动命令等),核心是获取PID(进程 ID)。
    • 示例:ps -ef | grep java 或更简洁的 pgrep -f java(直接输出 Java 进程 PID)。
  2. jps
    • JDK 自带命令,查看当前机器上所有 Java 进程的 PID 和主类名(如Main、JarLauncher),快捷定位应用进程。
  3. kill / kill -9
    • 终止进程:kill PID 发送正常终止信号(允许进程释放资源),kill -9 PID 强制杀死进程(紧急情况启用)。
  4. top -p PID
    • 聚焦查看某个 Java 进程(通过 PID)的实时资源占用(CPU、内存百分比),判断是否存在资源泄漏。
  5. jstack PID
    • 打印 Java 进程的线程栈信息,用于排查死锁、线程阻塞、CPU 飙高等问题。
    • 示例:jstack 12345 > stack.log 输出到文件,分析BLOCKED状态的线程及锁信息。
  6. jmap -heap PID
    • 查看 Java 堆内存配置(初始 / 最大堆、新生代 / 老年代大小)和应用情况,排查堆内存配置是否合理。
  7. jmap -dump:format=b,file=heap.bin PID
    • 导出 Java 堆快照(heap dump),用于分析内存泄漏(结合 MAT 等器具),注意:大堆导出可能影响服务性能。
  8. jstat -gc PID 1000
    • 实时监控 Java 垃圾回收情况(间隔 1000ms),输出新生代 / 老年代 GC 次数、耗时、内存利用等,判断 GC 是否频繁或耗时过长。

三、日志分析

  1. tail -f 日志文件
    • 实时跟踪日志文件新增内容,常用于观察服务启动过程或实时报错(如tail -f app.log)。
  2. cat 日志文件 | grep "关键词"
    • 搜索日志中涵盖指定关键词的行(如grep "ERROR"找错误,grep "userId=123"定位用户相关日志)。
    • 扩展:grep -C 5 "ERROR" 显示错误行前后 5 行,grep -i "error" 忽略大小写。
  3. less 日志文件
    • 分页查看大日志文件,支持搜索(按/输入关键词,n下一个匹配)、翻页(空格/b),适合逐行分析。
  4. head -n 100 日志文件 / tail -n 100 日志文件
    • 查看日志前 100 行(启动信息)或后 100 行(最新日志),高效定位起止位置。
  5. sed / awk
    • 复杂日志分析:如sed -n '/2023-10-23 10:00:00/,/2023-10-23 10:05:00/p' app.log 提取某个时间段的日志;awk '{print $5}' app.log 提取日志中第 5 列内容(常用于统计)。

四、网络排查

  1. netstat -tuln / ss -tuln
    • 查看系统监听的端口及对应的进程(ss是netstat的替代工具,性能更好)。
    • 示例:netstat -tuln | grep 8080 检查 Java 服务的 8080 端口是否正常监听。
  2. netstat -anp | grep PID
    • 查看指定 Java 进程(PID)的网络连接情况(ESTABLISHED/ TIME_WAIT 等状态),排查连接泄露。
  3. telnet 目标IP 端口 / nc -zv 目标IP 端口
    • 否能连接数据库(如telnet mysql-host 3306)或外部接口。就是测试网络连通性:检查 Java 服务
  4. ping 目标IP
    • 测试与目标服务器的网络延迟和丢包率,初步判断网络是否通畅。
  5. tcpdump -i any port 8080 -w traffic.cap
    • 抓包工具:捕获 8080 端口的网络流量,用于分析请求是否到达服务、数据包是否异常(需结合 Wireshark 分析)。

五、文件与权限执行

  1. ls -l / ll
    • 查看档案 / 目录的权限、所有者、大小等信息,排查 Java 服务因权限不足导致的文件读写失败(如日志文件无写入权限)。
  2. chmod / chown
    • chmod 755 app.jar:修改文件权限(确保 Java 进程可执行);chown appuser:appgroup app.log:修改文件所有者(避免权限拒绝)。
  3. find / -name "文件名"
    • 全局搜索记录,例如find /var/log -name "app.log" 查找日志文件位置。
  4. tar -zcvf 压缩包.tar.gz 目录 / tar -zxvf 压缩包.tar.gz
    • 压缩 / 解压文件,用于备份日志或传输 Java 应用包。

六、其他实用命令

  • date:查看平台时间(排查 Java 程序时间相关疑问,如定时任务执行偏差)。
  • history:查看历史命令(快速复用之前执行过的排查命令)。
  • dmesg | grep -i outOfMemory:查看系统日志中的 OOM 记录(Java 进程被内核杀死时会记录)。

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

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

相关文章

QT:Qt5.14向文档输出表格--编译异常信息

QT向文档输出表格:输出近5年的高考信息统计表 22:29:34: Starting D:\Demo\QT5.14\CH12\CH1402\build-WordWritetable-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\debug\WordWritetable.exe ... QAxBase::dynamicCallHel…

《程序员修炼之道》阅读笔记5

《程序员修炼之道》第五章"弯曲,或折断"阅读笔记 解耦与得墨忒耳法则 解耦是构建灵活、可维护系统的核心原则。书中提出的得墨忒耳法则(Law of Demeter)为降低模块间耦合提供了明确指导:对象的方法应只调…

java面向对象知识补充

static静态变量补充知识:static静态变量:数据只需要一份,且需要被共享时(访问,修改)例如,记录全局某个数量。 实例变量:每个对象都要有一份,数据各不同。(普通定义)静态方法静态方法可以用来设计工具类。工…

团队作业 3 - 教学课件和班级管理系统 需求改进 系统设计 - WAR

一、需求 & 原型改进(20 分)课堂讨论问题及修改(5 分)问题 1 修改 1课件格式支持单一(仅支持 PPT/PDF) 增加视频(MP4)、音频(MP3)格式课件上传与在线预览支持成绩统计维度单一(仅平均分) 新增最高分、…

win11下载安装python,命令提示符输入python,打开Microsoft store界面,解决方案

win11下载安装python,命令提示符输入python,打开Microsoft store界面,解决方案1.找到python安装路径, C:\Users\33723\AppData\Local\Programs\Python\Python314 C:\Users\33723\AppData\Local\Programs\Python\Py…

卷积神经网络的引入3 —— MLP 与 CNN 在更大数据集上的性能对比实验

卷积神经网络的引入3 —— MLP 与 CNN 在更大数据集上的性能对比实验 在前两篇文章中,我们分别验证了:MLP 对平移等扰动非常敏感,而 CNN 具备更好的鲁棒性 在 Fashion-MNIST(低维灰度图)下,MLP 与 CNN 的表现差距…

全网都在找的Nano Banana Pro API 来了!便宜稳定0.15/张

Nano Banana Pro(Gemini 3 Pro Image)是Google基于Gemini 3 Pro开发的新一代图像生成与编辑模型,它不仅在图像质量上达到了新的高度,更在文字渲染、多图像融合和实时信息整合方面带来了突破性的进展。本文将带你全…

通过DataReader获取sql查询的字段元数据信息

原理 应用程序调用 GetSchemaTable()↓ ADO.NET 驱动程序生成元数据查询SQL↓ 发送到数据库服务器执行↓ 数据库返回结果集架构信息(不包含实际数据)↓ ADO.NET 解析架构信息并构建 DataTable↓ 返回包含完整列信息的…

Docker命令入门

Docker命令入门1. 使用容器运行 Nginx 应用 1.1 使用 docker run 命令运行 Nginx 应用 1.1.1 观察下载容器镜像过程查找本地容器镜像文件执行命令过程一:下载容器镜像 $ docker run -d nginx:latestUnable to find im…

2025.11.21 - A

今天形势与政策,听了一些国际形势,收获颇丰

2025年新版ADB工具箱下载+驱动+ADB指令集+fastboot刷机ROOT程序

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P7960 [NOIP2021] 报数__洛谷题解

P7960 [NOIP2021] 报数 题目描述 报数游戏是一个广为流传的休闲小游戏。参加游戏的每个人要按一定顺序轮流报数,但如果下一个报的数是 \(7\) 的倍数,或十进制表示中含有数字 \(7\),就必须跳过这个数,否则就输掉了游…

The 5W2H Problem-Solving Method

The 5W2H Problem-Solving Method https://www.msicertified.com/wp-content/uploads/2024/02/The-5W2H-Problem-Solving-Method.pdf 出处:http://www.cnblogs.com/lightsong/本文版权归作者和博客园共有,欢迎转载,但…

题解:SP5830 ALTPERM - Alternating Permutations

题意:给你 \(K\) 个下标,保证 \(A_1=1,A_K=N\),且对任意的 \(i<N\) 有 \(A_i<A_{i+1}\)。 如果一个排列,在下标 \(A_1\) 到 \(A_2\) 处单调递增,在下标 \(A_2\) 到 \(A_3\) 处单调递减,在下标 \(A_3\) 到 …

图床创建:github+Picgo+obsidian 带有同步删除的自动上传

最近一直在做DL部分的学习笔记,一个比较麻烦的地方就是我一直用的obsidian做笔记内容,在博客园导入随笔后,图片的链接一直是我的本地路径,自然无法显示,于是我只好在导入随笔后再把图片一张张上传到博客园的图床上…

重组生长因子全面解析:从结构功能到科研应用指南

重组生长因子是现代生命科学研究中不可或缺的重要工具,它们通过基因工程技术在体外表达和纯化获得,为细胞生物学、发育生物学及信号转导研究提供了高纯度、高活性的关键试剂。作为科研试剂,重组生长因子以其精确的序…

2055.11.21

十点睡醒起床,吃饭 然后洗澡回宿舍上网课,开团会,出去吃饭,回宿舍准备睡觉

Dify异步接口调用优化实践:解决长时任务处理与网络超时疑问

Dify异步接口调用优化实践:解决长时任务处理与网络超时疑问pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

STM32系统时钟与SysTick定时器

一、系统嘀嗒定时器(SysTick)全面解析 1. SysTick定时器基本概念 定时器是STM32 中常用的外设,一般定时器的基本功能就是定时,而在Cortex M3/M4 内核中也包含一个简单的定时器,就是系统嘀嗒定时器(Systick),它是属…