Linux 操作系统基础知识总结

1、操作系统总体介绍

CPU: 就像人的大脑,主要负责相关事情的判断以及实际处理的机制。

查询指令: cat /proc/cpuinfo

内存: 大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU进行判断。

查询指令: cat /proc/meminfo

1)物理内存

物理内存,就是我们将内存条插在主板内存槽上的内存条的容量的大小。看计算机配置的时候,主要看的就是这个物理内存

2)虚拟内存

Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

关系:windows中虚拟内存和物理内存可能都会被使用,linux中,只有物理内存使用完了,才会使用虚拟内存

硬盘:大脑中的记忆区块,将重要的数据记录起来,以便未来再次使用这些数据。

查询指令: fdisk -l (需要root权限)

2、内存和硬盘的关系

具体命令后面会介绍。

3、操作系统监控命令>单独写一份

·vmstat

·sar

·iostat

·top

·free

·uptime

·netstat

·ps

·strace

·lsof

4、如何分析操作系统

实际流程: 读数据>数据>硬盘>虚拟内存(swaP)>内存>cpu缓存>执行队列。分析方向,正好相反。

5、各个部分常出现的漏洞

CPU: 容易出现该类瓶颈的邮件服务器、动态web服务器

内存: 容易出现该类瓶颈的打印服务器、数据库服务器、静态web服务器

磁盘I/O: 频繁读写操作的项目

网络带宽: 频繁大量上传下载项目

6、Linux本身的一些优化

1)系统安装优化

当安装linux系统时,磁盘划分、 SWAP内存的分配都直接影响系统性能。对于虚拟内存SWAP的设定,现在已经没有了所谓虚拟内存是物理内存两倍的要求,但是根据经验,如果内存较小(物理内存小于4GB),一般设置SWAP交换分区大小为内存的2倍;如果物理内存大约4GB小于16GB,可以设置SWAP大小等于或者略小于物理内存即可;如果内存在16GB以上,原则上可以设置SWAP为0,但最好设置一定大小的SWAP

2)内核参数优化

例如,如果系统部署的oracle数据库应用,那么就需要对系统共享内存段( kernel.shmmax, kenerl.shmmni, kernel.shmall)。

系统信号量( kernel.sem)、文件句柄( fs.file0max)等参数进行优化设置;如果部署的WEB应用,那么就需要根据web应用特性进行网络参数的优化,例如修改:

net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、net.core.somaxconn等网络内核参数。

3)文件系统优化

在linux下可选的文件系统有ext2,、ext3、 xfs、 ReiserFS。

linux标准文件系统是从VFS开始,然后ext、 ext2, ext2是linux上的标准文件系统,ext3是在ext2基础上增加日志形成的。从VFS到ext3,设计思想没有太大变化,都是早期UNIX家族基于超级块和inode的设计理念设计而成。

XFS文件系统是SGI开发的一个高级日志文件系统,通过分布处理磁盘请求、定位数据、保持cache的一致性来提供对文件系统数据的低延迟、高带宽的访问,因此XFS极具伸缩性,非常健壮,具有优秀的日志记录功能、可扩展性强、快速写入等优点。

ReiserFS在Hans Reiser领导下开发出来的一款高性能的日志文件系统,通过完全平衡树来管理数据,包括文件数据、文件名及日志支持等。与ext2、 ext3相比,最大的优点是访问性能和安全性大幅提升。具有高效、合理利用磁盘空间,先将的日志管理机制,特意的搜寻方式,海量磁盘存储等优点

7、重点知识:物理内存和虚拟内存

1.如何查看物理内存和虚拟内存?

Top命令可以查看物理内存和虚拟内存的数值

2.Buffer

是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。

3.Cache

CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度

4.CPU中断

当CPU执行完一条现行指令时,如果外设向CPU发出中断请求,那么CPU在满足响应的情况下,将发出中断响应信号,与此同时关闭中断,表示CPU不在受理另外一个设备的中断。

这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,他将转移到处理该中断源的中断服务程序。CPU在保存现场信息,设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断,并返回到原来被中断的主程序的下一条指令。

5.上下文切换

上下文切换(Context Switch) 或者环境切换

多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件。

在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。

进程上下文用进程的PCB(进程控制块,也称为PCB,即任务控制块)表示,它包括进程状态,CPU寄存器的值等。

通常通过执行一个状态保存来保存CPU当前状态,然后执行一个状态恢复重新开始运行。

上下文切换会对性能造成负面影响。然而,一些上下文切换相对其他切换而言更加昂贵;其中一个更昂贵的上下文切换是跨核上下文切换(Cross-Core Context Switch)。一个线程可以运行在一个专用处理器上,也可以跨处理器。由单个处理器服务的线程都有处理器关联(Processor Affinity),这样会更加有效。在另一个处理器内核抢占和调度线程会引起缓存丢失,作为缓存丢失和过度上下文切换的结果要访问本地内存。总之,这称为“跨核上下文切换”。

6.进程和线程

①进程概念

进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。

②线程概念

线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。

③进程和线程的关系

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程;

(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源;

(3)处理机分给线程,即真正在处理机上运行的是线程;

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

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

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

相关文章

cudagraph 本质详解

理解 CUDA Graph 的本质,关键在于理解它解决了什么问题,以及它通过什么机制来解决这个问题。 一、 核心问题:传统 CUDA 编程的“CPU 瓶颈” 在 CUDA Graph 出现之前,我们通常使用 CUDA Stream 来向 GPU 提交任务。这是一个动态的过程: CPU 作为指挥官:CPU 循环地、逐条…

Spring MVC 父子容器深度解析:原理、实战与优化

1. 父子容器的定义与设计初衷一句话总结:父子容器的核心价值在于解耦 Web 层与业务层,实现职责分离与上下文隔离。1.1 父子容器的层次关系在 Spring MVC 中,容器分为两类:父容器(Root ApplicationContext)&…

AI赋能SEO关键词优化策略

内容概要 人工智能(AI)技术正深刻改变着搜索引擎优化(SEO)的实践方式,尤其在关键词研究这一核心领域带来了革命性的影响。本文聚焦于AI如何赋能SEO关键词优化策略,系统性地探讨其核心价值与应用路径。我们将…

虚拟机Ubuntu图形化界面root用户登录错误

当在 Ubuntu 图形界面登录 root 用户出现错误无法进入时 1. 检查 PAM 配置文件 PAM(Pluggable Authentication Modules,可插拔认证模块)负责管理用户认证相关的策略。图形登录界面的 PAM 配置文件通常是 /etc/pam.d/gdm-password 。以管理员权…

【杂谈】-逆缩放悖论:为何更多思考会让AI变“笨“?

逆缩放悖论:为何更多思考会让AI变"笨"? 文章目录逆缩放悖论:为何更多思考会让AI变"笨"?1、解码逆缩放现象2、AI 推理失效的五大症结3、AI 推理应对复杂度的策略图谱4、人工智能评估体系的反思5、人工智能推理…

强制用户更改WordPress密码的重要性及实现方法

确保 WordPress 网站的安全性是每位网站管理者的重要任务。在网络安全日益受到关注的今天,为用户提供安全、稳定的网络环境至关重要。而一个有效的方法就是强制用户定期更改密码。这篇文章将介绍为什么要强制用户更改密码以及如何在 WordPress 中实现这一功能。同时…

计算机基础速通--数据结构·串的应用

如有问题大概率是我的理解比较片面,欢迎评论区或者私信指正。 友友们,我遇到了一个大问题,技术类的英文面(ai应用开发/java后端偏金融方向)该如何准备?本人英语就过了个六级,脑阔疼额。友友们有…

05--STL认识(了解)

1. STL概念——标准模板库 STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。 STL与CPP标准库的关系: 2. STL的版本 3. STL的组成 4. STL…

VBA经典应用69例应用9:ReDim语句的语法

《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便…

连锁店管理系统的库存跟踪功能:数字化转型下的零售运营核心

在连锁零售行业,库存管理的效率直接决定着运营成败。传统人工库存管理模式早已难以应对全渠道销售时代的复杂需求,而连锁店管理系统的库存跟踪功能,正成为解决库存难题、提升客户体验的关键武器。本文将深入解析施易德(cegid&…

Nestjs框架: 接口安全与响应脱敏实践 --- 从拦截器到自定义序列化装饰器

接口安全问题:敏感数据脱敏的必要性 在用户注册成功后,若直接将用户数据(如密码、ID 等)返回给前端,存在严重的安全风险 为此,需要在接口响应前对数据进行脱敏处理 关键点: 敏感字段&#xff…

Python包与虚拟环境工具全景对比:从virtualenv到uv的演进

Python 的开发环境管理一直是综合性的工程问题。随着工具和规范的不断进化,我们看到了从 virtualenv / pip 开始,到 pipenv 和 poetry 的环境一体化,再到 uv 和 hatch 这样的一体化、高性能新生代工具。 本文将对比这些工具的特点、优势和选型…

期货和期权对冲后能盈利吗?

本文主要介绍期货和期权对冲后能盈利吗?期货和期权作为金融衍生品的两大核心工具,其组合对冲策略的盈利性取决于市场走势、策略设计、成本管控及风险对冲效果。对冲的本质是降低风险,但通过合理设计,部分策略可在对冲风险的同时创…

【其他分类】Showrunner AI版的Netflix 互动故事创作平台 进行动画生成与微调、角色场景创建

Showrunner是一个AI 驱动的角色场景动画。视觉风格较为统一,偏向 3D Q 版卡通风格,支持语音对白修改、镜头相机切换、动画角色和场景设置等功能。 论文原文中文翻译官方地址pdf版 、网页版pdf版https://www.showrunner.xyz/ 当前的2D 动画软件&#xff…

K8s 常见故障案例分析

#作者:程宏斌 文章目录一、节点故障(一)节点 NotReady 状态排查步骤解决方案二、Pod 故障(一)Pod 一直处于 Pending 状态排查步骤解决方案(二)Pod 频繁重启故障现象排查步骤解决方案三、控制器故…

半精度权重 及 Phi-3线性层的权重分布

半精度权重 我们可以使用张量的 to() 方法以及适当的类型 torch.float16,将权重转换为 FP16: torch.manual_seed(11) weights = torch.randn(1000) * .07 weights.min(),

Linux怎么安装Docker?环境怎么搭建?步骤是什么?如何配置?有哪些注意事项?出现问题怎么排除?

一、Docker简介与环境准备 1.1 什么是Docker Docker是一个开源的容器化平台,它使用Linux内核的cgroup,namespace以及OverlayFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。Docker能够自动执行重复性任务…

apiSQL网关调优:释放单节点的最大潜能

前言 在构建高性能、高可用的API服务时,apiSQL 提供了强大的集群部署模式,通过横向扩展来分散负载、提高吞吐量。然而,在某些场景下,我们同样需要关注并最大化单个节点的处理能力。当单个 apiSQL 网关节点需要处理高并发请求或承载…

【开源工具】网络交换机批量配置生成工具开发全解:从原理到实战(附完整Python源码)

🔥 【开源工具】网络交换机批量配置生成工具开发全解:从原理到实战(附完整Python源码) 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家…

【插件式微服务架构系统分享】之 解耦至上:gateway 网关与APISIX 网关的不同分工

【插件式微服务架构系统分享】之解耦至上:gateway 网关与APISIX 网关的不同分工作者:朱元禄一、一个比方 APISIX 就像是一个专业的高速公路收费站,不属于你公司自己造的路,而是专门为所有车辆(流量)设计的&…