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

【Linux】服务器分析

【Linux】服务器分析

  • 【一】基础概念
    • 【1】CPU 核心(16C)
      • (1)进程
      • (2)线程
    • 【2】逻辑线程(32T)
  • 【二】16C 32G 机器理论性能上限
    • 【1】CPU 上限
    • 【2】内存上限(总 32G)
    • 【3】IO / 网络隐性上限
  • 【三】如何充分利用 16C32G 资源
    • 【1】核心原则
    • 【2】Java/DataX 类应用(IO 密集型,DataX 同步服务)
      • (1)JVM 内存分配标准(32G 机器)
      • (2)线程池配置(DataX 核心 channel 通道)
    • 【3】Nginx(轻量网关,转发 DataX 请求)
    • 【4】系统内核参数调优(最大化网络 / 文件性能)
    • 【5】负载均衡拆分资源(集群场景)
  • 【四】看服务器 CPU、内存、磁盘、线程资源使用
    • 【1】top(实时整机监控)
    • 【2】内存专项查看
    • 【3】CPU 硬件规格查询(确认 16C 真实配置)
    • 【4】线程 / 进程资源排查(定位哪个线程占满 CPU)
    • 【5】磁盘 IO 负载(DataX 同步重点监控)
    • 【6】网络负载(StreamLoad 大量 HTTP 请求)
  • 【五】资源利用率判定标准(16C32G 运维阈值)

【一】基础概念

【1】CPU 核心(16C)

当前机器逻辑 CPU 总数 = 16 个,操作系统调度最小单位是逻辑 CPU。
单核同一时间只能执行 1 个线程;
16C 理论最大并发线程调度上限:同时跑满 16 个活跃线程;
CPU 使用率 100% = 16 个核心全部打满,无空闲算力。

(1)进程

独立程序实例,拥有独立内存空间、文件句柄、PID;
例:一个 DataX 服务、一个 Nginx、一个 Java 应用,各是独立进程。
进程之间内存隔离,不能直接共享堆内存。

(2)线程

进程内的执行单元,共享进程堆内存、文件句柄;
Java/DataX 都是多线程模型,一个进程可以开几十~几百个线程;
操作系统 CPU 调度只看线程,不看进程。

【2】逻辑线程(32T)

32 线程(32T,Thread):操作系统识别到 32 个逻辑处理器。
1 个物理核心,CPU 硬件虚拟出 2 个逻辑线程;
16 × 2 = 32,所以 16 物理核,输出 32 线程。

通俗比喻:
一个办公室有 16 个工位(物理核心),每个工位配两套工具(超线程),一个工位可以交替干两件活。
对外看起来,仿佛有 32 个工位在干活,但真实只有 16 个人。

✅优点:
当一个核心在等待(等待磁盘、网络、内存数据),CPU 不用空闲,可以跑第二个线程任务。
Java 后端、多线程程序、压测、编译代码收益很大。

【二】16C 32G 机器理论性能上限

【1】CPU 上限

满载阈值:CPU 整体使用率持续 ≥85% 属于高负载;持续 100% 代表瓶颈;
线程安全上限:业务计算线程总和建议 ≤12至14(预留 2至4 核给系统、网络 IO、内核线程);
超载危害:线程数远超 16 → 操作系统频繁上下文切换,CPU 软中断飙升,吞吐量反而下降。

【2】内存上限(总 32G)

(1)系统内存分三块,不可全部给业务:
OS 系统预留:4~6G(内核、缓冲区、TCP 缓存、PageCache);
业务应用可用内存:24~28G;
Swap 交换分区:尽量关闭,物理内存不足会疯狂刷磁盘,性能暴跌。
(2)内存水位划分:
安全水位:总内存占用 ≤70%(≤22G);
高负载水位:70%~85%;
危险水位:>85%,容易触发 OOM killer 杀死进程。

【3】IO / 网络隐性上限

文件句柄上限:系统默认 1024,多线程同步场景必须调至 65535;
TCP 连接上限:高并发服务需调大somaxconn、epoll参数;
磁盘 IO:大量读写场景(如 DataX 同步),磁盘会先于 CPU 成为瓶颈。

【三】如何充分利用 16C32G 资源

【1】核心原则

资源隔离:单进程内存不超限,多进程 CPU 线程总和不超过安全核数;
预留缓冲:系统永远预留 2~4 核、4G 内存,不打满硬件;
避免资源争抢:同一机器不要混跑高 CPU + 高 IO 重负载服务;
线程池匹配 CPU 核数:计算密集型线程≈CPU 核数,IO 密集型可适度放大。

【2】Java/DataX 类应用(IO 密集型,DataX 同步服务)

(1)JVM 内存分配标准(32G 机器)

-Xms20G-Xmx20G

固定堆 20G,预留 12G 给系统 PageCache、内核、其他轻量进程;
禁止设置-Xmx28G,无系统缓冲会导致磁盘频繁 IO 卡顿。

(2)线程池配置(DataX 核心 channel 通道)

DataX 每个 channel = 1 读线程 + 1 写线程,属于 IO 密集型(网络读写 Doris/MySQL):
(1)单台机器安全最大并发 channel:10~12;
(2)不要开到 16,预留核给网络、磁盘 IO、GC 线程;
(3)3 台 16C 机器集群总并发上限:30~36 通道,均衡分流不单点压满。

【3】Nginx(轻量网关,转发 DataX 请求)

CPU 消耗极低,可同机部署:
worker 进程数设置等于 CPU 核心数:worker_processes 16;
worker 连接上限调大:worker_connections 65535;
内存占用仅几百 MB,几乎不抢占业务资源。

【4】系统内核参数调优(最大化网络 / 文件性能)

# 1. 文件句柄放开echo"* soft nofile 65535">>/etc/security/limits.confecho"* hard nofile 65535">>/etc/security/limits.conf# 2. TCP网络调优,高并发StreamLoad请求专用sysctl-wnet.core.somaxconn=65535sysctl-wnet.ipv4.tcp_tw_reuse=1sysctl-wnet.ipv4.tcp_syncookies=1sysctl-wnet.core.netdev_max_backlog=50000# 3. 关闭swap,防止内存不足卡顿sysctl-wvm.swappiness=0

【5】负载均衡拆分资源(集群场景)

你 3 台 16C DataX 服务器:
Nginx 统一入口,请求轮询分发,每台机器负载均衡;
避免单台机器承载 80% 同步任务,出现单点 CPU100%;
调度平台分批下发同步任务,瞬时并发不超过单台 12 通道上限。

【四】看服务器 CPU、内存、磁盘、线程资源使用

【1】top(实时整机监控)

top

快捷键:
1:展开 16 颗逻辑 CPU,看每核占用;
M:按内存占用排序进程;
P:按 CPU 占用排序;
H:显示进程内所有线程;
q 退出。

关键指标解读:
Cpu(s):整机平均 CPU 使用率;
%Cpu0~%Cpu15:每颗核心单独负载;
Mem total/used/avail:总内存、已用、可用内存(avail 是真实剩余可用)。

【2】内存专项查看

# 人性化单位GB展示free-h

字段重点看 available(真实剩余内存)。

# 底层内存明细,缓存、缓冲区cat/proc/meminfo

【3】CPU 硬件规格查询(确认 16C 真实配置)

# 结构化输出CPU信息lscpu# 统计逻辑CPU总数(输出16)grepprocessor /proc/cpuinfo|wc-l# 查看物理CPU、核心、超线程cat/proc/cpuinfo

【4】线程 / 进程资源排查(定位哪个线程占满 CPU)

步骤 1:top -H 查看进程内线程,找到占用 CPU 高的线程 TID。

top-H-p进程PID

步骤 2:Java 项目打印线程栈(DataX/Java 服务)

# 打印进程所有线程堆栈,定位死循环、阻塞线程jstack 进程PID>thread.log

统计进程线程总数

# 替换PIDps-T-p12345|wc-l

【5】磁盘 IO 负载(DataX 同步重点监控)

# 实时磁盘IO,每秒刷新iostat-x1

重点看 %util,接近 100% 代表磁盘 IO 瓶颈。

【6】网络负载(StreamLoad 大量 HTTP 请求)

# 实时网卡流量sar-nDEV1# 连接数统计netstat-ant|wc-lss-s

【五】资源利用率判定标准(16C32G 运维阈值)

(1)CPU
健康:平均负载 <12,单核心无长期 100%;
告警:平均负载 > 14,持续 5 分钟;
瓶颈:全 16 核打满,任务排队、同步速度下降。
(2)内存
健康:available >10G;
告警:available <6G;
危险:available <3G,触发 swap/OOM。
(3)磁盘 IO
告警:% util 持续 > 80%;
瓶颈:% util=100%,写入延迟暴涨,DataX 同步卡顿。

http://www.cnnetsun.cn/news/4008911.html

相关文章:

  • 2024年淄博网站建设招聘真实风向:中小企业到底缺什么样的开发与设计人才?
  • 顺德网站建设哪家好?揭秘优质建站公司的核心标准与避坑指南
  • 常用调试接线备忘记录
  • C语言字符串函数深度解析:从strcpy到strtok的实战指南与安全编程
  • 如何避开网站建设雷区:资深顾问教你读懂网站建设需求分析报告
  • OpenSpeedy:免费开源游戏变速工具终极指南 - 3步实现游戏加速
  • 深入解读漳州市住房和城乡建设局网站:本地居民获取房屋信息、政策解读与办事指南的权威通道
  • 去AI味提示词真的有用吗?去i迹和通用模型怎样同段对照?
  • 兰州网站建设推荐q479185700顶你 - 2024年企业数字化转型必须避开的坑与真相
  • 探索上海市建设工程检测行业协会网站,获取权威检测资源与行业深度洞察
  • 揭秘行业真相:2024年企业网站群建设调研报告深度解析与实战指南
  • 揭秘c2c网站建设费用:从预算陷阱到价值回归,中小企业该如何理性决策与精准投资
  • 网站建设基础教程视频:新手从零搭建独立网站保姆级指南,告别付费代建
  • 河北省承德市建设局网站上不去怎么办?本地市民紧急求助与深层原因解析,如何快速解决访问故障
  • 计算机设计大赛获奖指南:从选题到答辩的完整项目实践
  • 关于网站建设的指标:不仅看速度,更要看这五个核心数据
  • 企业官网搭建全攻略:一份落地可行的网站建设功能清单助你避坑
  • 网站建设 任务分配表:如何构建高效团队与完美交付的秘密武器
  • 企业如何定制高效的网站建设方案功能以提升品牌形象与转化率的深度解析
  • 永远网站建设:为什么中小企业要在互联网洪流中坚守长期主义与品牌灵魂?
  • 泉州最好的网站建设公司是如何通过细节与真诚赢得客户信任的终极指南
  • 无代理攻击面管理:小团队如何系统化发现与监控数字资产风险
  • 揭秘江苏茂盛建设有限公司网站背后的工程匠心与诚信之道
  • 【ORC】在 Flink 流批一体场景中,如何高效地将流数据写入 ORC 文件?
  • 揭秘机场建设相关网站:从规划到竣工的全流程导航与资源宝库
  • 揭秘网站建设三剑客:如何用它们打造高转化率的商业帝国
  • 临城网站建设怎么做才能既省钱又好记?揭秘本地企业官网背后的真相与避坑指南
  • 【Bug已解决】windows_x64_asan: onnxruntime_test_all single-process run OOMs at the 8 GB SizeClassAllocat…
  • 网站建设需求确认书怎么做才靠谱?一份能救命的网站建设需求确认书指南帮你避坑
  • 专注东莞网站建设与劳保用品技术支持全案解析,助力传统企业数字化转型升级