Linux---进程/磁盘管理

文章目录

  • 目录

    文章目录

    一.Linux中进程的概念

    二.显示系统执行的进程

    2.1: ps 命令

    2.2 top 命令

    三.终止进程 

    四.磁盘分区


一.Linux中进程的概念

        在Linux中,进程是指操作系统中正在执行的程序的实例。每个进程都由操作系统分配了独立的内存空间,用于存储程序的指令、数据和运行时的堆栈等信息。进程之间相互独立,彼此不会直接影响。

        Linux操作系统使用进程来实现多任务执行。进程可以执行各种不同的任务,包括运行用户应用程序、执行系统服务以及管理系统资源等。每个进程都有自己的唯一标识符(PID),可以通过PID来识别和管理进程。

        进程之间可以通过进程间通信(IPC)机制进行相互通信和数据交换。常用的IPC机制包括管道、消息队列、共享内存和信号等。

进程的运行状态:

Linux中,进程有以下几种状态:

  1. 运行态(Running):正在执行的进程。

  2. 就绪态(Ready):等待CPU执行的进程。

  3. 僵尸态(Zombie):已经结束,但是父进程还没有回收资源的进程。

  4. 停止态(Stopped):因为某种原因暂停执行的进程,例如收到了信号SIGSTOP。

磁盘,内存,CPU的区别

  • CPU是中央处理器的核心,负责处理各种计算任务和进程。
  • 内存又称运行内存,是服务器用于正在运行的程序,进程和数据的地方。
  • 硬盘用于存储数据和文件。

二.显示系统执行的进程

2.1: ps 命令

ps命令用于显示当前系统正在执行的进程,常用的参数:

-e:显示当前系统正在执行的权限
-f:显示进程的详细信息,包括进程的PID,父进程PID,进程状态等
-u:显示指定用户的进程

示例代码:

[root@localhost1 ~]# ps -ef

#按照CPU使用率进行升序排序
ps -aux --sort %cpu

#按照cpu使用率降序排序
ps -aux --sort -%cpu

示例输出:

UID          PID    PPID  C STIME TTY          TIME CMD
root           2       0  0 11:58 ?        00:00:00 [kthreadd]
root           3       2  0 11:58 ?        00:00:00 [rcu_gp]
root           4       2  0 11:58 ?        00:00:00 [rcu_par_gp]
root           5       2  0 11:58 ?        00:00:00 [netns]
root           7       2  0 11:58 ?        00:00:00 [kworker/0:0H-events_highpri]
root           9       2  0 11:58 ?        00:00:00 [kworker/0:1H-events_highpri]

在上面1输出中,每一列的含义如下:

  • UID:进程所属于的用户 
  • PID:表示用户的进程
  • PPID:父进程的PID
  • C:CPU的使用情况,表示进程在CPU上占用的时间
  • STIME:进程的启动时间
  • TTY:进程所在的终端
  • TIME:进程运行的时长
  • CMD:进程执行的命令

2.2 top 命令

top命令用于实时监控系统的性能和资源使用情况,并按照内存或CPU使用率进行排序。

示例代码:

[root@localhost1 ~]# top

 示例输出:

top - 15:51:20 up  3:52,  2 users,  load average: 0.00, 0.00, 0.03
Tasks: 303 total,   1 running, 297 sleeping,   4 stopped,   1 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.2 hi,  0.0 si,  0.0 st
MiB Mem :   1743.7 total,     83.1 free,   1418.2 used,    417.4 buff/cache
MiB Swap:   2048.0 total,   1703.2 free,    344.8 used.    325.5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  36220 mysql     20   0 1775464 430940  36396 S   0.7  24.1   0:22.88 mysqld
  36424 root      20   0       0      0      0 I   0.3   0.0   0:01.56 kworker/0:2-pm
  36438 root      20   0  226140   4412   3440 R   0.3   0.2   0:00.05 top
      1 root      20   0  174376  13572   6052 S   0.0   0.8   0:01.37 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns

 示例输出的上半部分含义如下:

  • 当前时间:15:51:20
  • 系统运行时间:3小时52分钟
  • 当前有2个用户登录系统
  • 运行队列的平均负载情况:最近1分钟内的平均负载为0.00,最近5分钟内的平均负载为0.00,最近15分钟内的平均负载为0.03
  • 任务情况:总共有303个任务,其中有1个正在运行,297个正在睡眠,4个被暂停,1个为僵尸进程
  • CPU使用率情况:用户空间占用CPU时间为0.0%,内核空间占用CPU时间为0.0%,改变过优先级进程占用CPU时间为0.0%,空闲CPU时间为99.8%,等待磁盘I/O操作占用CPU时间为0.0%,硬件中断占用CPU时间为0.2%,软中断占用CPU时间为0.0%,虚拟化占用CPU时间为0.0%
  • 内存使用情况:总共有1743.7 MiB内存,其中有83.1 MiB空闲,1418.2 MiB被使用,417.4 MiB被用作缓存
  • 交换空间使用情况:总共有2048.0 MiB交换空间,其中有1703.2 MiB空闲,344.8 MiB被使用,325.5 MiB可用于内存回收

下半部分含义:

三.终止进程 

3.1 kill命令

kill 命令用于终止进程

示例代码:

[root@localhost1 ~]# kill 添加PID

四.磁盘分区

        在磁盘创建或格式化时,指定文件系统格式类型可以确保磁盘正确的被识别和挂载,以及提供适合的读写性能和功能。同时,不同的文件系统格式还有不同的特性,如支持文件大小、文件系统大小等方面的限制,需要根据需求选择适合的格式类型。

        通过分区可以将操作系统、应用程序和用户数据分开存储。这样,如果需要重新安装操作系统或者更换硬盘,只需要备份和恢复对应的分区,而不影响其他分区。

        磁盘中的最小存储单位是扇区,一个扇区512个字节,从数据存放角度来看,一个数据块默认4KB(4096字节)相当于8个扇区。

Linux系统中常见的分区:

  1. 根分区(/):用于安装操作系统和系统文件,包括/boot和/目录。

  2. 交换分区(swap):用于虚拟内存,当物理内存不足时,用来存储不常用的内存数据。

  3. /home分区:用于存储用户的个人文件和配置文件。

  4. /var分区:用于存储系统日志文件、数据库文件和其他变化较频繁的文件。

  5. /tmp分区:用于临时文件的存储,存放系统和应用程序临时生成的文件。

  6. /boot分区:用于存储启动加载器和内核映像文件。

  7. 其他分区:根据需要,可以创建其他独立分区,如/data用于存储数据或/app用于存放应用程序文件。

Linux磁盘数据写入原理:
Linux中磁盘需要通过操作系统对数据进行写入,默认的磁盘为dos,磁盘首先调用主引导程序mbr(占用一个扇区),该程序默认前446个字节存放主引导程序

示例操作:

首先查看你磁盘分区情况

[root@localhost ~]# fdisk -l
Disk /dev/nvme0n1:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0f127cc4

设备           启动    起点     末尾     扇区 大小 Id 类型
/dev/nvme0n1p1 *       2048  2099199  2097152   1G 83 Linux
/dev/nvme0n1p2      2099200 41943039 39843840  19G 8e Linux LVM


Disk /dev/nvme0n2:30 GiB,32212254720 字节,62914560 个扇区
磁盘型号:VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf53d2908


Disk /dev/mapper/rhel-root:17 GiB,18249416704 字节,35643392 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


Disk /dev/mapper/rhel-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# fdisk /dev/nvme0n2

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


创建磁盘分区:

[root@localhost ~]# fdisk /dev/nvme0n2

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认  1): 1
第一个扇区 (2048-62914559, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-62914559, 默认 62914559): +20G

创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。

命令(输入 m 获取帮助):wq
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

格式化分区+临时挂载:

#对新创建的磁盘分区进行格式化
[root@localhost ~]# mkfs.xfs /dev/nvme0n2p1
#将新分区挂载到下载安装Oracle数据库的目录如:/oracle (挂载后该目录所有下载内容将挂载到新建分区)
[root@localhost ~]# mount /dev/nvme0n2p1 /oracle

永久挂载

vim /etc/fstab
文件系统名称      挂载点目录     格式化类型    文件参数信息        开机是否检查
 
/dev/nvme0n2p1   /install       xfs           默认defaults       默认0

通过mount -a 或 reboot 使配置文件生效


 


总结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hadoop配置nfs,window映射nfs

1.修改hadoop配置如下内容,并同步到其它节点 core-site.xml新增配置项 <!-- 允许hadoop用户代理任何其它用户组 --><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property><!-- 允许代理任意服务器…

TypeScript的never类型的妙用

never类型介绍 在 TypeScript 中&#xff0c;"never" 是一个表示永远不会发生的值类型。 使用场景 "never" 类型通常用于以下几种情况&#xff1a; 1、函数返回类型&#xff1a;当一个函数永远不会返回任何值&#xff08;比如抛出异常或者无限循环&…

跟TED演讲学英文:Let your garden grow wild by Rebecca McMackin

Let your garden grow wild Link: https://www.ted.com/talks/rebecca_mcmackin_let_your_garden_grow_wild Speaker: Rebecca McMackin Date: October 2023 文章目录 Let your garden grow wildIntroductionVocabularySummaryTranscriptAfterword Introduction Many garden…

110、python-第四阶段-7-Socket服务端开发

服务端代码&#xff1a; 启动客户端工具 netAssist.exe&#xff0c;连接socket服务&#xff0c;如下&#xff0c;进行通信

声音突破:so 索

小孩儿看完武侠剧&#xff0c;就决定从二楼往地面上跳&#xff0c;年轻的老妈看到了&#xff0c;就在那里骂&#xff0c;喝斥不准逞能&#xff0c;不许乱来&#xff0c;不许跳。但小孩子不听话&#xff0c;心里全是影视剧的画面&#xff0c;那叫一个侠之能也&#xff0c;于是飞…

低代码平台适用于哪些行业 低代码开发平台行业应用案例

基于您的查询和提供的网络搜索结果&#xff0c;低代码开发平台在多个行业中都有广泛的应用案例。这些平台能够帮助企业快速构建应用程序&#xff0c;减少编码工作&#xff0c;提高开发效率和产品质量。下面是一些典型行业的低代码应用案例&#xff1a; 低代码平台行业应用场景 …

视频怎么压缩变小?推荐三个压缩方法

视频怎么压缩变小&#xff1f;在数字时代&#xff0c;视频已成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;随着视频质量的提升&#xff0c;视频文件的大小也随之增加&#xff0c;这给存储和分享带来了不小的挑战。幸运的是&#xff0c;市面上有许多视频压缩软件…

CUDA Unity Compute Shader 3

计划 这应该是第3章的读书笔记&#xff0c;但是因为第3章读起来比较困难&#xff0c;所以先看了《CUDA并行程序设计编程指南》的第5章和第6章&#xff0c;感觉读起来顺畅多了&#xff0c;《CUDA并行程序设计编程指南》暂定精读第5、6、7章 1.如何生成ptx文件 属性➔CUDA C/C➔…

鸿蒙轻内核M核源码分析系列六 任务及任务调度(3)任务调度模块

调度&#xff0c;Schedule也称为Dispatch&#xff0c;是操作系统的一个重要模块&#xff0c;它负责选择系统要处理的下一个任务。调度模块需要协调处于就绪状态的任务对资源的竞争&#xff0c;按优先级策略从就绪队列中获取高优先级的任务&#xff0c;给予资源使用权。本文我们…

java多线程原理

1.线程创建与启动&#xff1a;通过继承Thread类或实现Runnable接口创建线程&#xff0c;并调用start()方法启动线程。 1.线程状态&#xff1a;线程在其生命周期中有多种状态&#xff0c;包括新建、运行、阻塞、死亡等。了解这些状态以及如何在它们之间转换对于管理线程至关重要…

完美解决 mysql 报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded

文章目录 错误描述错误原因解决步骤 跟着我下面的步骤走&#xff0c;解决你的问题&#xff0c;如果解决不了 私信我来给你解决 错误描述 执行ALTER USER root% IDENTIFIED WITH mysql_native_password BY 123456;报错ERROR 1524 (HY000): Plugin mysql_native_password is not …

RPA实战演练UiBot6.0校园学生教评机器人

前言 校园学生教评机器人&#xff0c;也称为全自动校园教评RPA&#xff08;Robotic Process Automation&#xff0c;机器人流程自动化&#xff09;机器人&#xff0c;是一种利用软件机器人技术来模拟和执行学生教评流程中的各项任务和操作的智能化系统。以下是关于校园学生教评…

Mamba v2诞生:1 儒(Transformers)释(SSD)道(Mamba)本是一家?!

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提…

因子区间[牛客周赛44]

思路分析: 我们可以发现125是因子个数的极限了,所以我们可以用二维数组来维护第几个数有几个因子,然后用前缀和算出来每个区间合法个数,通过一个排列和从num里面选2个 ,c num 2 来计算即可 #include<iostream> #include<cstring> #include<string> #include…

数据库中锁的机制和MVCC协议以及隔离级别

文章目录 数据库中的锁锁与索引的关系释放锁的时机乐观锁与悲观锁行锁与表锁共享锁与排它锁意向锁记录锁、间隙锁和临键锁记录锁间隙锁临键锁 锁优化方案 MVCC协议MySQL的隔离级别脏读和幻读快照读和当前读 版本链Read ViewRead View 与已提交读Read View 与可重复读m_up_limit…

8. C#多线程基础概念

文章目录 一. 目标二. 技能介绍① 进程和线程② 为什么需要多线程③ C#实现多线程的方式④ 线程的操作(创建_终止_挂起_恢复) 一. 目标 进程和线程基本概念为什么需要多线程?C#实现多线程的方式?线程Thread的创建,终止,挂起和恢复? 二. 技能介绍 ① 进程和线程 什么是进程…

F5G城市光网,助力“一网通城”筑基数字中国

《淮南子》中说&#xff0c;“临河而羡鱼&#xff0c;不如归家织网”。 这句话在后世比喻为做任何事情都需要提前做好准备&#xff0c;有了合适的工具&#xff0c;牢固的基础&#xff0c;各种难题也会迎刃而解。 如今&#xff0c;数字中国发展建设如火如荼&#xff0c;各项任务…

C语言 | Leetcode C语言题解之第119题杨辉三角II

题目&#xff1a; 题解&#xff1a; int* getRow(int rowIndex, int* returnSize) {*returnSize rowIndex 1;int* row malloc(sizeof(int) * (*returnSize));row[0] 1;for (int i 1; i < rowIndex; i) {row[i] 1LL * row[i - 1] * (rowIndex - i 1) / i;}return row…

排序-快速排序

前言 本期主角 是这个小老头 图灵奖得主&#xff0c; 美国国家科学院外籍院士&#xff0c; 美国国家工程院外籍院士&#xff0c; 英国皇家工程院院士&#xff0c; 英国皇家学会院士 鼓掌&#x1f44f;&#x1f44f;&#x1f44f; 感觉这个小老头很叼噢(确实很叼) 从标…

MQTT.FX的使用

背景 在如今物联网的时代下&#xff0c;诞生了许多的物联网产品&#xff0c;这些产品通过BLE、WIFI、4G等各种各样的通信方式讲数据传输到各种各样的平台。 除了各个公司私有的云平台外&#xff0c;更多的初学者会接触到腾讯云、阿里云之类的平台。设备接入方式也有着多种多样…