Linux相关命令(1)

1、找出文件夹下包含 “aaa” 同时不包含 “bbb”的文件,然后把他们重新生成一下。要求只能用一行命令。

find ./ -type f -name "*aaa*" ! -name "*bbb*" -exec touch {} \;

文件系统操作命令

df:列出文件系统的整体磁盘使用情况 

-a 全部文件系统列表

-h 方便阅读方式显示

-i  显示inode信息

du:列出目录所占空间

du –sh /  ---显示/目录下的所有目录大小

dumpe2fs:显示当前的磁盘状态

Parted2T以上磁盘分区工具

Fdisk: 2T以下的磁盘

Fdisk –l  ---显示系统中的所有分区内容
partprobe : 更新分区表 / 磁盘
Mkfs: 磁盘格式化
Mkfs –t 文件系统格式 设备文件名(盘符)
e2label :设置磁盘卷标
e2label 设备名称 新 label 名称,可以用 dumpe2fs 查看卷标e2label /dev/hda1 aixi

Mount:挂载磁盘

mount –o remount,rw,auto / 重新挂载mount –n –o remount,rw / 重新挂载根目录,设置为可读写

用户管理

Pwck
检查 /etc/passwd 配置文件内的信息与实际主文件夹是否存在,还可比较 /etc/passwd /etc/shadow 的信 息是否一致,另外如果/etc/passwd 中的数据字段错误也会提示。
Grpck
pwck 功能相近,这是检查用户组的。

Linux的启动流程

1) BIOS 自检
2) 启动 GRUB/LILO
3) 运行 Linux kernel 并检测硬件
4) 挂载根文件系统
5) 运行 Linux 系统的第一个进程 init( PID 永远为 1 ,是所有其它进程的父进程 )
6) init 读取系统引导配置文件 /etc/inittab 中的信息进行初始化 7) 执行系统初始化脚本- /etc/rc.d/rc.sysinit ,执行系统初始化 ( 包括很多内容 )
8) 根据指定的运行级别 (runlevel) 来运行服务器脚本程序,再执行脚本 /etc/rc.d/rc.local
9) 运行一些其他的特别服务,一般为 /sbin/mingetty /etc/X11/prefdm
10) Linux 控制台 (console) 提示用户输入用户名、密码进行登陆。
总结: BIOS 初始化👉 检查外围设备👉 检查启动设备👉 读区 MBR

进程管理命令

ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;

如果想对进程时间监控, 应该用 top 工具。

ps常用选项组合:

  •  `ps aux`: 显示所有进程,包括其他用户的进程;显示进程的详细信息,包括命令行参数
  •  `ps lax`: 显示所有进程,包括其他用户的进程;显示更长的进程信息,包括TTY,STAT,CPU占用率等
  •  `ps f`: 显示进程树的形式,即以层次结构的方式显示进程及其子进程,以及它们的状态和关系
[root@localhost ~]# ps -aux |more
可以用 | 管道和 more 连接起来分页查看;[root@localhost ~]# ps aux > ps001.txt
[root@localhost ~]# more ps001.txt
这里是把所有进程显示出来,并输出到 ps001.txt 文件,然后再通过 more 来分页查看;[root@localhost ~]# ps aux |grep httpd
和 grep 结合,提取指定程序的进程;# ps -auxf | sort -nr -k 4 | head -10 
找出消耗内存最多的前 10 名进程# ps -auxf | sort -nr -k 3 | head -10
找出使用 CPU 最多的前 10 名进程
Pstree :列出当前的进程,以及它们的树状结构
top用来显示系统当前的进程状况
top 命令和 ps 命令的基本作用是相同的,都显示系统当前的进程状况。
但是 top 是一个动态显 示过程,即可以通过用户按键来不断刷新当前状态。
第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。
第二行显示的是 Tasks: 114 total 进程总数、 2 running 正在运行的进程数、 110 sleeping 睡眠的进程数、 0 stopped 停止的进程数、 2 zombie 僵尸进程数
第三行显示的是目前 CPU 的使用情况 Cpu(s): 0.3% us 用户空间占用 CPU 百分比、 1.7% sy 内核空间占用 CPU 百分比、 0.0% ni 用户进程空间内改变过优先级的进程占用 CPU 百分比、 98.0% id 空 闲 CPU 百分比、 0.0% wa 等待输入输出的 CPU 时间百分比、 0.0% hi 0.0% si
第四行显示物理内存的使用情况 Mem: 299704k total 物理内存总量、 295604k used 使用的物理内存 总量、4100k free 空闲内存总量、 68536k buffers 用作内核缓存的内存量
第五行显示交换分区使用情况 Swap: 192772k total 交换区总量、 0k used 使用的交换区总量、 192772k free 空闲交换区总量、 123988k cached 缓冲的交换区总量、内存中的内容被换出到交换区, 而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的 交换区的大小。相应的内存再次被换出时可不必再对交换区写入。
PID Process ID ):进程标志号,是非零正整数。
USER :进程所有者的用户名。
PR :进程的优先级别。
NI :进程的优先级别数值。
VIRT :进程占用的虚拟内存值。
RES :进程占用的物理内存值。
SHR :进程使用的共享内存值。
 STAT:进程的状态,其中 S 表示休眠, R 表示正在运行, Z 表示僵死状态, N
示该进程优先值是负数。
%CPU :该进程占用的 CPU 使用率。
%MEM :该进程占用的物理内存和总内 存的百分比。
TIME :该进程启动后占用的总的 CPU 时间。
COMMAND :进程启动的启动命令名称,如 果这一行显示不下,进程会有一个完整的命令行
top 命令使用过程中,还可以使用一些交互的命令来完成其他参数的功能。这些命令是通过快捷键启
动的。
< 空格 > :立刻刷新。
A 分类显示系统不同资源的使用大户。有助于快速识别系统中资源消耗多的任务。
f 添加删除所要显示栏位 .
o 调整所要显示栏位的顺序 .
r 调整一个正在运行的进程 Nice .
k 结束一个正在运行的进程 .
z 彩色 / 黑白显示开关
P :根据 CPU 使用大小进行排序。
T :根据时间、累计时间排序。
q :退出 top 命令。
m :切换显示内存信息。
t :切换显示进程和 CPU 状态信息。
c :切换显示命令名称和完整命令行。
M :根据使用内存大小进行排序。
W :将当前设置写入~ /.toprc 文件中。这是写 top 配置文件的推荐方法。
可以看到, top 命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是, 它的缺点是会消耗很多系统资源

资源监控

1free内存监控
补充说明: free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以 及系统核心使用的缓冲区等
-m MB 为单位显示内存使用情况。
Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况
total:表示物理内存总量。
used: 已使用多大。
free: 可用有多少。
shared:共享内存,一般系统不会用到,这里也不讨论。
buffers:系统分配但未被使用的 buffers 数量。
cached:系统分配但未被使用的 cache 数量。
--------------------------------------------------------------------------------------------------
buffers cached 的区别:
buffers 是指用来给块设备做的缓冲大小,他只记录文件系统的 metadata 以及 tracking in-flight
pages.
cached 是用来给文件做缓冲。
也就是说: buffers 是用来存储,目录里面有什么内容,权限等等。
cached 直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man X , 你就可以明显的感觉到第二次的开打的速度快很多。
----------------------------------------------------------------------------------------------------------
什么时候内存会被交换,以及按什么方交换。
当可用内存少于额定值的时候,就会开会进行交换,如何看额定值( RHEL4.0 ):
#cat /proc/meminfo
交换将通过三个途径来减少系统中使用的物理页面的个数:
1. 减少缓冲与页面 cache 的大小,
2. 将系统 V 类型的内存页面交换出去,
3. 换出或者丢弃页面。 (Application 占用的内存页,也就是物理内存不足)。
事实上,少量地使用 swap 是不是影响到系统性能的。
2、vmstat:查看虚拟内存(Virtual Memory)使用状况的工具 

虚拟内存运行原理

在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。
Linux 内存管理中,主要是通过“调页 Paging ”和“交换 Swapping ”来完成上述的内存调度。调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用。交换技术是将整个进程,而不是部分页面,全部交换到磁盘上。
分页 (Page) 写入磁盘的过程被称作 Page-Out ,分页 (Page) 从磁盘重新回到内存的过程被称作 Page-In 。当内核需要一个分页时,但发现此分页不在物理内存中( 因为已经被 Page-Out ) ,此时就发生了分页错误(Page Fault )。
当系统内核发现可运行内存变少时,就会通过 Page-Out 来释放一部分物理内存。经管 Page-Out 不是经常发生,但是如果Page-out 频繁不断的发生,直到当内核管理分页的时间超过运行程式的时间时,系统效能会急剧下降。这时的系统已经运行非常慢或进入暂停状态,这种状态亦被称作thrashing( 颠簸 )
3iostat 
用途:报告中央处理器( CPU )统计信息和整个系统、适配器、 tty 设备、磁盘和 CD-ROM 的输入/输出统计信息
4、uptime:查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况
uptime的输出包含一项内容是 load average ,显示了最近 1 5 15 分钟的负荷情况。它的值代表等待CPU处理的进程数,如果 CPU 没有时间处理这些进程, load average 值会升高;反之则会降低。
load average的最佳值是1 ,说明每个进程都可以马上处理并且没有 CPU cycles 被丢失。
对于单 CPU 的机器, 1 或者2是可以接受的值;对于多路 CPU 的机器, load average 值可能在 8 10 之间。
也可以使用 uptime 命令来判断网络性能。例如,某个网络应用性能很低,通过运行uptime 查看服务器的负荷是否很高,如果不是,那么问题应该是网络方面造成的
------------------------------------------------------------------------------------------------------------------------
么什么是系统平均负载呢?系统平均负载是指在特定时间间隔内运行队列中的平均进程数。如果每个CPU 内核的当前活动进程数不大于 3 的话,那么系统的性能是良好的。如果每个 CPU 内核的任务数大于5 ,那么这台机器的性能有严重问题。如果你的 linux 主机是 1 个双核 CPU 的话,当 Load Average 为6 的时候说明机器已经被充分使用了。

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

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

相关文章

小孔平板应力集中问题matlab有限元编程【源码+PPT讲义】|三节点三角形单元|平面单元|稀疏矩阵 |Comsol网格

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

样本投递技术

投递技术 APT 组织主要以邮件作为投递载体&#xff0c;邮件的标题、正文和附件都可能携带恶意代码。主要的方式是附件是漏洞文档、附件是二进制可执行程序和正文中包含指向恶意网站的超链接这三种。 APT攻击的载荷类型&#xff1a; 文档类&#xff1a;主要是office文档、pdf文…

数组——LEETCODE的第35题(二分法与lower_bound函数)

数组——LEETCODE的第35题&#xff08;二分法与lower_bound函数&#xff09; 本文主要是根据leetcode 35题所写的关于数组的相关内容&#xff0c;主要包括&#xff1a; 数组的的特性leetcode第35题二分法的解题lower_bound函数的使用 文章目录 数组——LEETCODE的第35题&#x…

面试题(一)

目录 1.JDK、JRE、JVM之间的区别 2.hashcode()和equals()的区别 3.String、StringBuffer、StringBuilder的区别 4.泛型中extends和super的区别 5.和equals()的区别 6.重写和重载的区别 7.List和Set的区别 8.ArrayList和LinkedList区别 9.谈谈ConcurrentHashMap的原理 …

LangChain核心模块 Retrieval——文档加载器

Retrieval ​ 许多LLM申请需要用户的特定数据&#xff0c;这些数据不属于模型训练集的一部分&#xff0c;实现这一目标的主要方法是RAG(检索增强生成)&#xff0c;在这个过程中&#xff0c;将检索外部数据&#xff0c;然后在执行生成步骤时将其传递给LLM。 ​ LangChain 提供…

Unsafe的CAS操作及线程park与unpark

如下是一个参照AQS进行的一个加锁及解锁的简单实现&#xff1a; 多线程并发进行同步业务操作&#xff1b;加锁&#xff1a;尝试进行cas 0->1操作&#xff1b;如果加锁成功则进行业务处理&#xff0c;然后进行锁释放 1->0&#xff0c;然后将列头的线程进行唤醒&#xff1…

GDAL中的地理坐标系、投影坐标系及其相互转换

目录 地理坐标系 国内常用地理坐标系 投影坐标系 国内常用投影坐标系&#xff08;不推荐使用&#xff09; 坐标转换 地理坐标转为投影坐标 投影坐标转为地理坐标 地理坐标系 原理参考这篇文章&#xff1a;地理坐标系与投影坐标系区别与联系 https://yunxingluoyun.blog.…

webserver如何从零开始?

我们要做一个项目&#xff0c;过程是怎么样的呢&#xff1f;git clone ...部署&#xff0c;测试&#xff0c;然后开始写么&#xff0c;这样你大概率会“猪脑过载”&#xff0c;对一个项目的每个部分都没有清晰认识&#xff0c;能写出什么来&#xff1f;写之前当然需要测试每个功…

Linux网络协议栈从应用层到内核层③

文章目录 1、write源码剖析2、vfs层进行数据传输3、socket层进行数据传输4、tcp层进行数据传输5、ip层进行数据传输6、网络设备层进行数据传输7、网卡驱动层进行数据传输8、数据传输的整个流程 1、write源码剖析 系统调用原型 ssize_t write(int fildes, const void *buf, si…

Linux 在线yum安装: PostgreSQL 15.6数据库

Linux 在线yum安装&#xff1a; PostgreSQL 15.6数据库 1、PostgreSQL数据库简介2、在线安装PostgreSQL15.63、配置 PostgreSQL的环境变量4、使用默认用户登录PostgreSQL5、配置 PostgreSQL 允许远程登录6、修改 PostgreSQL 默认端口7、创建数据库和表、远程用户zyl8、pgAdmin远…

MATLAB环境下基于离散小波变换和主成分平均的医学图像融合方法

随着计算机技术和生物影像工程的日趋成熟&#xff0c;医学图像为医疗诊断提供的信息越来越丰富。目前&#xff0c;由于医学成像的设备种类繁多&#xff0c;导致医生获得的图像信息差异较大。如何把这些信息进行整合供医生使用成为当务之急。基于此&#xff0c;医学图像融合技术…

vue3+vite配置环境变量

1、创建环境变量文件&#xff1a;首先在vue3项目根目录创建.env.development 和 .env.prodution两个文件&#xff0c;分别为开发和生产环境&#xff08;必须.env.开头&#xff0c;需要额外环境&#xff0c;配置自定义的文件名称即可&#xff09; 2、在环境变量文件分别写对应…

Android内存优化项目经验分享 兼顾效率与性能

背景 项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率&#xff0c;做了内存优化和下载导出优化&#xff0c;具体效果如最后的一节的表格所示。 下面针对拍摄流程的两个页面 预览页 导出页优化实例进行介绍&#xff1a; 一.拍摄前预览页面优化 预览效果问题 存在…

试试前端自动化测试(基础篇)

众所周知的原因&#xff0c;前端作为一种特殊的 GUI 软件&#xff0c;做自动化测试困难重重。在快速迭代&#xff0c;UI 变动大的业务中&#xff0c;自动化测试想要落地更是男上加男 &#x1f436;。 近期的学习过程中&#xff0c;翻阅了众多前端自动化测试相关的文章&#xf…

【3D reconstruction 学习笔记】

三维重建 3D reconstruction 1. 相机几何针孔相机摄像机几何 2. 相机标定线性方程组的解齐次线性方程组的解非线性方程组的最小二乘解透镜相机标定带畸变的相机标定 3. 单视图重建2D平面上的变换3D空间上的变换单视测量无穷远点 无穷远线 无穷远平面影消点 影消线单视重构 4. 三…

天艺制盖邀您参观2024第七届世界燕窝及天然滋补品博览会

2024第七届世界燕窝及天然滋补品博览会 2024年8月7-9日| 上海新国际博览中心 上海燕博会 世界燕窝及天然滋补品展览会暨世界滋补产业生态发展大会&#xff08;简称上海燕博会&#xff09;&#xff0c;2017年创办于中国上海&#xff0c;是一年一度的世界燕窝滋补品行业盛会。…

运放PSRR与开关电源纹波分析的实际案例分享!

本文来自看海原创视频教程&#xff1a;《运放秘籍》运算放大器基础精讲及应用第一部*开天 微信公众号&#xff1a;工程师看海 【淘宝】https://m.tb.cn/h.5PAjLi7?tkvmMLW43KO7q CZ3457 「运放秘籍_运算放大器Multisim仿真视频教程第一部开天_工程师看海」 点击链接直接打开 …

k8s入门到实战(一)—— kubernetes概述

k8s 概述 k8s github地址&#xff1a;https://github.com/kubernetes/kubernetes 官方文档&#xff1a;https://kubernetes.io/zh-cn/docs/home/ k8s&#xff0c;全程是 kubernetes&#xff0c;这个名字源于希腊语&#xff0c;意为"舵手"或"飞行员” k8s 这…

启动性能优化

一、应用启动慢的原因 1.在主线程执行了太多耗时的操作&#xff0c;比如加载数据&#xff0c;或者初始化三方库等等&#xff0c;导致在Application的oncreate或者Activity的oncreate方法中耗时太久 2.布局嵌套太深&#xff0c;或者一些不会立即使用的布局也在一开始一起加载到…

Offlian RL: Weighted Policy Constraints for Offline Reinforcement Learning

AAAI 2023 paper Intro 分布偏移导致离线RL对于OOD数据存在过估计问题。因此一些方法限制策略靠近行为策略。但是着很大程度受限于数据集的质量。若是数据集存在非专家&#xff0c;一个自然的问题是是否有可能构建一个更合理的策略约束方法&#xff0c;该方法通过识别数据集中…