运维工程师面试题总结-系统进程管理03

简介: 个人学习

新年祝大家新年新气象,财运亨通,大吉大利,薪资翻倍,心想事成,废话不多说,直接上题

1.什么是进程

运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位

2.进程的基本状态

创建状态:进程在创建时需要申请一个空白PCB(process control block进程控制块),向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态

就绪状态:进程已准备好,已分配到所需资源,只要分配到CPU就能够立即运行

执行状态:进程处于就绪状态被调度后,进程进入执行状态

阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用

终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行

3.找到未知进程的执行程序文件路径

ls -l /proc/$PID/exe

4.如何查询系统负载

使用uptime命令

其中系统平均负载(1、5、15分钟的平均负载,一般不会超过1,超过5时建议警报)

5.指定进程号,查看该进程打开的文件

lsof -p $PID 或 lsof -p $(pidof $COMMAND)

6.让作业运行于后台(剥离终端)(三种都可以)

nohup COMMAND &>/dev/null &

screen;COMMAND

tmux;COMMAND

7.对于linux主机的cpu负载使用,什么情况下user的比例升高,什么情况下system的比例升

高,请联系实际举例

使用top命令可以查看cpu的负载使用

image.png

us:用户进程消耗的CPU时间百分比 us的值比较高时,说明用户进程消耗的CPU资源多,如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速(比如PHP/PERL)

sy:内核进程消耗的CPU时间百分比(sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因)

wa:IO等待消耗的CPU时间百分比 wa的值高时,说明IO等待比较严重,这可能由于磁盘大量随机访问造成,也有可能磁盘出现瓶颈(块操作)

id:CPU处于空闲状态时间百分比,如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺

8.并行与并发

串行:一次只能取得一个任务并执行这一个任务

并行:可以同时通过多进程/多线程的方式取得多个任务,并以多进程或多线程的方式同时执行这些任务

并发:并发是一种现象:同时运行多个程序或多个任务需要被处理的现象;这些任务可能是并行执行的,也可能是串行执行的,和CPU核心数无关,是操作系统进程调度和CPU上下文切换达到的结果

9.进程和线程以及它们的区别

进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位。

线程是进程的实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程可以有多个线程,多个线程也可以并发执行

10.进程的通信方式有哪些?

主要分为:管道、系统IPC(包括消息队列、信号量、共享存储)、SOCKET

11.什么是缓冲区溢出?有什么危害?其原因是什么,如何预防?

缓冲区溢出:是指当计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法数据上。

危害:程序崩溃,导致拒绝额服务跳转并且执行一段恶意代码

主要原因:程序中没有仔细检查用户输入。

预防办法

1、关闭端口或服务。管理员应该知道自己的系统上安装了什么,并且哪些服务正在运行

2、安装软件厂商的补丁,漏洞一公布,大的厂商就会及时提供补丁

3、在防火墙上过滤特殊的流量,无法阻止内部人员的溢出攻击

4、自己检查关键的服务程序,看看是否有可怕的漏洞

5、以所需要的最小权限运行软件



目录
相关文章
|
6天前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
20 1
|
15天前
|
运维 监控 安全
现代化运维管理系统的关键技术与实践
传统的运维管理方式已经无法满足当今复杂多变的IT环境需求,现代化运维管理系统应运而生。本文将介绍现代化运维管理系统的关键技术和实践,包括自动化运维、容器化技术、监控与告警系统等方面,旨在帮助企业更好地理解和应用现代化运维管理系统。
17 0
|
17天前
|
人工智能 运维 监控
构建高效可靠的自动化运维系统
【5月更文挑战第27天】在数字化转型的浪潮中,企业对信息技术基础设施的管理和维护要求日益提高。自动化运维作为提升效率、降低成本、保障系统稳定性的关键手段,已成为IT行业的重要趋势。本文将介绍构建一个高效可靠的自动化运维系统的关键技术和实践策略,旨在帮助运维团队优化工作流程,提高响应速度,确保系统的持续稳定运行。
|
8天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在故障预测与自愈系统中的应用
【6月更文挑战第4天】本文探讨了人工智能(AI)技术在运维领域的革新作用,特别是其在故障预测和自愈系统中的应用。通过分析AI技术的基本原理及其在运维中的实际应用案例,文章揭示了AI如何提升系统的稳定性和效率,同时指出了实施过程中的挑战和未来的发展方向。
|
14天前
|
机器学习/深度学习 人工智能 运维
现代化运维管理系统下的自动化监控与故障排查
传统的运维管理方式已经无法适应日益复杂的信息技术环境,现代化运维管理系统的出现为企业提供了新的解决方案。本文将探讨在现代化运维管理系统下,自动化监控和故障排查的重要性,以及如何利用先进的技术手段提高效率,降低风险。
16 0
|
14天前
|
运维 监控 Devops
构建高效自动化运维系统:DevOps在企业级应用的实践
【5月更文挑战第30天】 随着信息技术的飞速发展,企业对软件交付速度和稳定性的要求越来越高。传统的运维模式已无法满足快速迭代和高效稳定的需求,因此,本文将探讨如何通过实施DevOps文化、流程和工具,构建一个高效的自动化运维系统。文章将详细描述DevOps的核心理念、关键技术组件以及如何在组织中落地实施策略,旨在帮助企业提升运维效率,加速产品的上市时间,同时保证系统的高可用性和稳定性。
|
14天前
|
运维 Prometheus 监控
构建高效可靠的自动化运维系统
【5月更文挑战第30天】 在信息技术迅猛发展的今天,企业对IT基础设施的依赖性日益增强。为了确保系统的高可用性和最佳性能,越来越多的组织开始转向自动化运维。本文旨在探讨构建一个高效、可靠的自动化运维系统的关键技术和实践策略,通过案例分析和技术比较,提出一种综合解决方案,以期帮助企业实现运维效率的最大化和风险的最小化。
|
15天前
|
运维 Prometheus 监控
构建高效自动化运维系统的策略与实践
【5月更文挑战第29天】 在当今快速迭代的技术环境下,自动化运维已经成为确保服务可靠性和效率的关键。本文将深入探讨构建一个高效自动化运维系统的必备策略及其具体实践步骤。通过分析当前自动化工具的选择、配置管理的最佳实践以及持续集成和持续部署(CI/CD)流程的整合,我们旨在为读者提供一个清晰可行的蓝图,以实现运维工作的优化。
|
15天前
|
人工智能 运维 监控
构建高效可靠的自动化运维系统
【5月更文挑战第29天】在数字化转型的浪潮中,企业的IT基础设施变得日益复杂多变。为了应对这种复杂性并提高运维效率,越来越多的组织开始转向自动化运维解决方案。本文将探讨构建一个高效且可靠的自动化运维系统的关键技术和实践策略,旨在帮助读者了解如何通过自动化工具和技术来简化运维流程、减少人为错误,以及增强系统的稳定性和安全性。
|
15天前
|
运维 监控 Android开发
构建高效自动化运维系统的策略与实践构建高效Android应用:Kotlin协程的实践指南
【5月更文挑战第29天】随着信息技术的迅猛发展,企业IT基础设施变得日益复杂,传统的手动运维模式已难以满足高效率、高稳定性的要求。本文将深入探讨如何通过自动化工具和策略来构建一个高效的自动化运维系统。文中不仅分析了自动化运维的必要性,还详细介绍了实现过程中的关键步骤,包括监控、配置管理、故障响应等,并结合实际案例分析其效果,以期为读者提供一套行之有效的自动化运维解决方案。