18、Linux 系统进程管理与资源监控全解析

Linux 系统进程管理与资源监控全解析

1. 处理卡住的进程

在系统运行过程中,有时会遇到进程卡住的情况。 kill 和 killall 命令在这种情况下非常有用,但我们希望尽量少使用它们。进程卡住通常是因为应用程序遇到了无法恢复的情况。如果经常需要杀死进程,可能需要检查负责该服务的软件包是否有更新,或者检查服务器硬件是否存在问题。

2. 系统进程管理

系统进程,也称为守护进程(daemons),是在服务器后台运行的程序,通常在服务器启动时自动启动。以 DHCP 服务器为例, isc-dhcp-server 进程会在后台运行,监听 DHCP 请求并分配新的 IP 地址。大多数情况下,在 Ubuntu 中安装作为服务运行的应用程序时,系统会配置其在服务器启动时自动启动。

在 Linux 中,服务由 init 系统管理,也称为 PID 1。近年来,Ubuntu Server 管理进程的方式发生了很大变化,已经从 Upstart 切换到了 systemd。自 Ubuntu 16.04 起,systemd 成为 LTS 版本的标准,如今的 Ubuntu 20.04 也是如此。

在 systemd 中,服务被称为单元(units),实际上,“service”、“daemon” 和 “unit” 本质上意思相同。为了管理这些单元,systemd 提供了 systemctl 命令,可用于启动、停止和查看服务器上单元的状态。以下是一些常见操作:
- 查看单元列表 :

相关推荐

【Linux】Linux性能监控实战指南(进阶篇):网络连接与进程深度分析

网络监控增强:使用ss替代netstat:更快的现代工具配置网络监控告警:异常连接实时通知建立连接基线:识别正常/异常连接模式进程监控进阶:使用htop替代top:更直观的交互界面配置进程监控:关键进程存活监控建立资源基线:识别资源使用异常✅ 网络连接正常,无非预期外部连接✅ 进程资源充足,无性能瓶颈✅ 系统运行稳定(305天+)⚠️ 需要确认7321端口服务身份⚠️ 建议配置Swap空间防止OOM🔒 网络服务配置相对安全🔒 无异常进程活动🔒 系统资源使用健康。

XYiFfang的博客 875

Linux中TOP命令详解

(load average: 1.25, 1.32, 1.35):分别表示最近1分钟、5分钟、15分钟的系统平均负载,反映系统繁忙程度。,能够实时展示系统中进程的资源占用情况,帮助系统管理员快速定位性能瓶颈、分析资源消耗,并辅助进行。:进程状态(D=不可中断睡眠,R=运行,S=可中断睡眠,T=跟踪/停止,Z=僵尸)。(I/O等待):等待磁盘/网络等I/O操作的CPU时间,高值可能提示I/O瓶颈。(系统内核占用):内核任务(如调度、中断处理)消耗的时间。:杀死进程(输入PID和信号,默认SIGTERM)。

weixin_39900692的博客 1824

Linux进程管理深度解析:从fork/exec到竞态条件与IPC实战

进程是操作系统进行资源分配和调度的基本单位,理解其生命周期管理是系统编程的基石。其核心原理涉及进程的创建、执行、终止与状态转换,通常通过fork()系统调用复制父进程上下文,再结合exec()族函数加载新程序来实现。这一机制的技术价值在于实现了任务的隔离与并发执行,为构建稳定高效的后台服务提供了基础。在多进程应用场景中,如Web服务器或数据处理流水线,进程间通信与同步成为关键挑战,不当处理会导致竞态条件或数据损坏。因此,掌握信号量、互斥锁等同步原语,以及管道、共享内存等IPC机制,对于确保多进程协作的井然有

weixin_34332905的博客 372

Linux进程管理三剑客:ps、kill、nice原理与实战

Linux进程管理是系统运维和性能调优的核心基础,其本质围绕进程生命周期、调度策略与信号通信三大机制展开。ps命令并非实时监控工具,而是对/proc文件系统的快照读取;kill的本质是向进程发送信号,SIGTERM用于优雅终止,SIGKILL则强制中止且不可捕获;nice值通过CFS调度器影响CPU时间片分配权重,仅在CPU竞争时生效。这些机制共同构成进程态势感知与动态干预能力,广泛应用于服务故障定位、资源争用治理、后台任务管控等典型场景。本文深入解析ps/kill/nice的内核原理与工程实践,覆盖状态识

weixin_34146805的博客 355

Linux进程管理:从ps/kill到systemd的优雅治理

进程是操作系统最基础的执行单元,其本质是内核task_struct定义的可调度实体,承载CPU时间、内存空间与信号处理等核心资源。理解进程状态(R/S/D/Z)、父子关系(PPID/PGID)及信号机制(SIGTERM/SIGKILL),是实现稳定运维的前提。ps命令底层依赖/proc文件系统实时快照,kill实为信号投递而非强制终止——这决定了优雅退出与暴力终止的根本差异。现代Linux进程管理已超越命令行技巧,依托systemd声明式服务控制与cgroups v2资源硬隔离,实现CPU、内存、IO的精准

weixin_33826609的博客 442

Linux进程管理三剑客:ps、kill、nice原理与生产实战

Linux进程管理是操作系统资源调度的核心能力,其底层依托于/proc虚拟文件系统、信号通信机制和CFS完全公平调度器。ps命令本质是读取/proc下的进程状态快照,用于观测;kill并非终止操作而是发送信号(如SIGTERM/SIGKILL),实现进程间异步通信;nice则通过调整静态优先级影响CPU时间片分配权重。这三者共同构成‘观测—干预—预防’的闭环治理体系,在高并发Web服务、数据库运维、自动化脚本及SRE场景中至关重要。本文深入解析其内核机制、参数组合与故障排查逻辑,尤其聚焦ps线程视图、kil

weixin_30385925的博客 427

Linux进程管理实战:如何用pkill -P一键清理僵尸进程(附完整命令)

本文深入探讨了Linux系统中使用pkill -P命令清理僵尸进程的实战技巧。通过分析进程家族树结构,详细介绍了如何识别和治理僵尸进程,并提供了完整的命令示例和高级应用场景,帮助运维工程师高效管理系统资源。

weixin_30275415的博客 574

Linux进程管理三剑客:ps、kill、nice的协同诊断与治理

在Linux系统中,进程管理并非简单查杀调优,而是围绕进程生命周期展开的系统性工程。ps命令本质是进程状态快照工具,通过STAT列(如R/S/Z/T)揭示CPU占用、I/O阻塞或僵尸状态等核心线索;kill命令的核心价值在于信号语义分层——SIGTERM支持优雅终止,SIGSTOP用于无损调试,而滥用SIGKILL将破坏数据一致性;nice则通过CFS调度器的vruntime权重机制,实现CPU时间片的精细化配额分配,而非粗暴降速。这些能力共同构成故障定位(如高CPU根因分析)、服务治理(如微服务资源隔离)

weixin_30629653的博客 335

18、Linux系统进程管理与资源监控全解析

本文深入解析了Linux系统中的进程管理与资源监控方法。内容涵盖systemd和systemctl命令对系统进程的管理操作,包括启动、停止、重启、启用和禁用服务;详细介绍了使用cron调度任务的方法和配置流程;并提供了监控系统资源(如磁盘使用情况、内存使用、CPU负载等)的常用工具和命令,如df、free、top、htop和uptime。通过这些方法,可以帮助用户全面掌握Linux服务器的运行状态,确保系统的高效与稳定。

t8u9v0w1x的博客 47

18、Linux 系统进程管理与调度全解析

本文深入解析了Linux系统中的进程管理与调度机制,涵盖了进程的基本概念、状态转换、监控工具(如ps和top)、进程优先级调整(nice值)、信号控制(kill、pkill等命令)、作业调度(atd和crond)以及常见问题的解决方法。文章还提供了实践建议、深入学习资源和未来发展趋势,帮助读者全面掌握Linux进程管理的核心知识,提高系统性能与稳定性。

rainy的博客 73

18、Linux 进程管理与调度全解析

本文全面解析了Linux系统中的进程管理与调度机制,从进程基础、状态转换到常用命令工具(如ps、top、pidof、pgrep、nice、renice、kill、pkill等)的使用方法进行了详细说明。同时,还介绍了作业调度服务(atd和crond)及其配置,以及如何通过访问控制文件限制用户对进程调度的权限。通过本文,读者可以掌握Linux系统中进程的监控、优先级调整、控制和调度技巧,从而提升系统性能与稳定性。

vulkan6gpu的博客 64

十八、【Linux系统进程管理】pstree、ps、top、pgrep命令详解

本文介绍了Linux系统中常用的进程管理命令及其核心功能: pstree:以树状结构显示进程关系,支持显示PID/用户名(-pu)、完整命令参数(-a)、高亮当前进程(-h)等功能 ps:查看进程详细信息,支持自定义输出字段、按CPU/内存排序、筛选特定用户进程等功能 top:实时监控系统进程及资源使用情况(本文未展示具体用法) pgrep:快速定位进程(本文未展开说明) 文中提供了详细的命令示例和参数说明,如: pstree -pu显示带PID和用户名的进程树 ps -ef显示完整进程详情 ps aux

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 1644

11、Linux系统管理:命令与操作全解析

本文全面解析了Linux系统管理中的常用命令与操作技巧,包括top命令的高级控制、进程的停止与信号处理、磁盘空间的监控与管理、数据文件的排序与统计、网络管理基础等内容。通过详细示例和说明,帮助用户更好地管理系统资源、处理进程和操作数据文件,提高Linux系统管理的效率与能力。

play7的博客 144

18、Linux进程监控与管理指南

本文详细介绍了Linux环境下进程监控与管理的实用指南,包括如何使用信号来启动、暂停、恢复和终止进程,以及如何通过脚本模拟负载来观察系统的负载平均值。此外,还深入讲解了负载平均值的概念及其解读方法,并通过top命令实时监控和管理系统进程。这些内容对系统管理员和开发者优化系统性能、确保系统稳定运行具有重要参考价值。

y7z8a的博客 46

政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题?.docx

政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题?

向量库深度解析:选型、索引原理与生产实践

本文系统解析五大主流向量库(pgvector、Milvus、Weaviate、ChromaDB、Faiss)的定位、优缺点与适用场景,深入拆解FLAT、IVF、HNSW等核心索引原理,并重点分析Milvus的Compaction机制。针对数据治理场景,提供精准选型建议:中小规模优先pgvector或Weaviate,超大规模选择Milvus,开发测试推荐ChromaDB。核心索引推荐HNSW,兼顾检索速度与召回率。全文从理论到实践,为开发者提供清晰的向量库选型逻辑与生产落地指南。

a123147abc的博客 361

在MacBook M1/M2上,手把手教你打包包含嵌入模型的RagFlow Docker镜像(避坑指南)

本文详细指导如何在MacBook M1/M2上构建ARM64架构的RagFlow Docker镜像,涵盖环境准备、依赖处理、镜像构建及性能优化全流程。特别针对Apple Silicon芯片的兼容性问题提供解决方案,帮助开发者高效完成本地开发环境搭建。

weixin_26908317的博客 242

Materials studio中的简单聚合物的建立及盒子的弛豫

涉及模块 Amorphous Cell-construction Forcite-caculation Build Polymers-Homopolymer

快乐学术猿 3万+

退火朗之万动力学采样

退火朗之万动力学采样(Simulated Annealing Langevin Dynamics Sampling)结合了退火技术和朗之万动力学,是一种用于分子模拟和统计物理中的计算方法。这种方法可以帮助系统从局部最小值中逃逸,以找到全局最小值或进行有效的配置空间探索。

weixin_39699362的博客 1949

【CASS精品教程】013:CASS9.1生成标准图幅案例教程

在CASS中,可以很方便的生成标准图幅,如50*50。本文演示cass中,根据测区范围标准图幅生成过程。

智慧空间实验室 1万+

15、 深入理解Akka微服务:创建与管理体育博彩平台

本博文深入探讨了如何使用Akka微服务架构为体育博彩平台创建投影和管理事件数据,包括市场投影、投注投影以及数据库投影的实现。同时,介绍了通过gRPC提供HTTP端点以供外部系统访问的方法,并详细说明了在本地环境和Kubernetes中运行应用程序的步骤及配置建议。

weixin_35756624的博客 96

DeepSeek 赋能太空探索:从轨道优化到星际开拓的 AI 革命

随着人工智能技术蓬勃发展,DeepSeek 在太空探索领域展现出巨大应用潜力。本文深入剖析 DeepSeek 技术核心,包括低功耗运算、开源生态等优势,阐述其与传统航天技术的差异。从航天器自主控制、深空探测、载人航天等关键环节,结合实时轨道调整、故障诊断修复等实例,揭示 DeepSeek 对航天任务效率与安全性的提升作用。同时探讨其应用面临的太空环境适应、伦理安全等挑战,展望技术演进方向及与前沿技术融合前景,展现 DeepSeek 为人类太空探索带来的变革与深远意义。

邓邓子的博客 2258

【腾讯小龙虾WorkBuddy专栏02】保姆级安装教程!彻底分清WorkBuddy/CodeBuddy,最新积分活动&会员体系全攻略

【腾讯小龙虾WorkBuddy专栏02】保姆级安装教程!彻底分清WorkBuddy/CodeBuddy,最新积分活动&会员体系全攻略

AI人人懂 2601

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 16、电子媒体时代的写作变革与语言创新
下一篇: 24、机器学习在犯罪分类与高校招生查询聊天机器人中的应用
SAM99
博客等级 码龄18年 52粉丝 1755原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值