找回密码
 立即注册
搜索
查看: 358|回复: 0

Linux 基础知识整理:CPU 负载、进程查看、文件目录权限等详解

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
63541
发表于 2024-9-24 00:17:45 | 显示全部楼层 |阅读模式
暂时没什么灵感可以写,就简单整理一下Linux的一些基础知识,供自己参考,同时也是一种温故而知新的方式~!

在张戈的博客中,还有其他几篇实用且内容丰富的博客文章,您可能也会感兴趣:

Linux系统CPU平均负载详解

教你如何检查Linux的CPU负载

Linux服务器进程查看命令详解

文件目录权限及chmod命令简析

Linux系统内存监控与性能诊断工具命令详解

PS:更多相关博文请访问系统运维或者站内搜索。当然如果你还有其他Linux相关知识需求,也欢迎留言。

熟悉Linux的人可能对top命令很熟悉(不同的系统名字可能不一样,比如IBM的aix中就是topas),它主要用来监控系统实时的负载率、进程资源使用率等系统状态属性,查看是否正常。

我们来看看top命令的截图:

(1)系统和任务统计:

前8行是系统整体的统计信息,第一行是任务队列信息,是命令执行的结果,其内容如下:

01:06:48

当前时间

1:22

系统运行时间,格式为时:分

1 位用户

当前登录用户数

负载:0.06、0.60、0.48

系统负载,即任务队列的平均长度。

三个数值分别是1分钟、5分钟、15分钟前到现在的平均值。注意:这三个值可以用来判断系统是否超载——如果该值持续大于系统中的CPU数量,那么你就需要优化你的程序或架构了。

(2)进程和CPU统计信息:

第2行到第6行是进程和CPU的信息,当有多个CPU时,这个内容可能会超过两行,内容如下:

任务:共 29 个

总进程数

1

正在运行的进程数

二十八

休眠进程数

停止的进程数

僵尸进程数

CPU:0.3% 我们

用户空间占用的CPU百分比

1.0% 系统

内核空间使用的CPU百分比

0.0%

用户进程空间中优先级发生变化的进程使用的 CPU 百分比

98.7% 同上

空闲 CPU 百分比

0.0% WA

等待输入或输出所花费的 CPU 时间百分比

0.0% 好

IRQ 是“中断请求”的意思是。

0.0% 硅

中断请求

(3)最后两行是内存信息:

记忆:总计

总物理内存

用过的

使用的物理内存总量

自由的

总可用内存



用作内核缓存的内存量

掉期:总计

总交换空间

已使用 0k

使用的交换空间总量

自由的

可用交换空间总量

缓冲的交换总量。

内存中的内容被换出到交换区域然后又换回内存,但是使用的交换区域并没有被覆盖。

这个值是这些内容在内存中已经存在的交换区域的大小。

当对应的内存再次换出时,就不需要对交换区进行写入了。

PS:可用内存和已用内存如何计算?

除了free -m,还可以看看top:

<p><pre>    Mem:    255592k total,   167568k used,    88024k free,    25068k buffers
Swap:   524280k total,        0k used,   524280k free,    85724k cached</pre></p>
3.1 如何计算程序实际可用的内存量?

是: 免费 + ( + )

+ ( + ) =

3.2 如何计算程序使用的内存量?

是:使用 – ( + )

–(+)=

3.3 如何判断系统内存是否不足?

如果你的 swap used 值大于 0,那么基本可以确定你遇到了内存瓶颈。要么优化你的代码,要么增加内存。

3.4 与缓存的区别

A 是尚未“写入”磁盘的。A 缓存是已从磁盘“读取”并待用。从应用程序的角度来看,/ 等于可用,因为 / 是为了提高文件读写的性能。当应用程序需要使用内存时,/ 会很快被回收。

因此从应用程序的角度来看,[可用内存] = [系统可用内存] + [] + []

指用于块设备的缓冲区大小。它只记录文件系统和页内数据。

它用于缓冲文件。

也就是说:它用来存储目录的内容,权限等,直接用来记住我们打开的文件。如果想知道它是否真的有效,可以试试。对一个比较大的日志文件,比如nginx的.log,执行两次cat,可以明显感觉到第二次打开速度快了很多。

因为Linux会将你不使用的内存暂时作为文件和数据缓存,以提高系统性能。当你需要这部分内存时,系统会自动释放它(与此不同,即使你有很多空闲内存,它也会访问磁盘)

(4)流程信息区:

统计区域显示了每个进程的详细信息。首先,我们来看一下每列的含义。

序列号

列名称

意义

PID

进程 ID

局部局部性病变

父进程 ID

鲁用户

真实用户名

唯一标识

进程所有者的用户 ID

用户

进程所有者的用户名

团体

进程所有者的组名

终端电话

启动进程的终端的名称。不是从终端启动的进程显示为?

公共关系

优先事项

国家科学院

好值。负值表示高优先级,正值表示低优先级



最后使用的CPU,这只在多CPU环境中有意义

%中央处理器

自上次更新以来占用的 CPU 时间百分比

时间

该进程使用的总 CPU 时间(以秒为单位)

时间+

该进程使用的总 CPU 时间,以 1/100 秒为单位

%内存

进程使用的物理内存百分比

虚拟仿真测试系统

进程使用的虚拟内存总量,以kb为单位。VIRT=SWAP+RES

交换

被换出的进程使用的虚拟内存的大小(以KB为单位)。

可再生能源

进程使用的还未被换出的物理内存大小,单位为kb。RES=CODE+DATA

代码

可执行代码占用的物理内存大小,以KB为单位

数据

可执行代码以外部分(数据段+堆栈)占用的物理内存大小,单位为KB

自发性高血压

共享内存大小,单位:KB

正常FLT

页面错误计数

抗逆转录病毒

自上次写入以来修改的页面数。

进程状态。

D = 不可中断的睡眠状态

R = 运行

S = 睡眠

T=跟踪/停止

Z = 僵尸进程

命令名/命令行

西哈努克市

如果进程正在休眠,则显示休眠的系统函数名称

标志

任务标志,参考sched.h

(5)查看指定列

默认情况下,只显示比较重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+等列。

您可以使用以下快捷键来改变显示的内容:

5.1 f键选择显示内容

使用f键选择显示的内容,按f键后会显示一列列表,按az显示或者隐藏相应列,最后按enter键确认。

5.2 o 键改变显示顺序

按 o 键可以改变列的显示顺序,按小写 az 可将相应列向右移动,按大写 AZ 可将相应列向左移动,最后按 Enter 键确认。

5.3 F/O 键按列对流程进行排序

按下大写的 F 或 O 键,然后按 az 将按相应的列对进程进行排序,而大写的 R 键将反转当前排序。

(6)常用交互命令

从使用角度来说,掌握这些命令比掌握选项更重要,这些命令都是单字母的,如果在命令行选项中使用s选项,这些命令中的一些可能会被屏蔽。

<p><pre class="lang:default decode:true">    Ctrl+L 擦除并且重写屏幕。
h 或者? 显示帮助画面,给出一些简短的命令总结说明。
k 终止一个进程。系统将提示用户输入需要终止的进程 PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用 15 信号;如果不能正常结束那就使用信号 9 强制结束该进程。默认值是信号 15。在安全模式中此命令被屏蔽。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序。
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程 PID 以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是 10。
S 切换到累计模式。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为 s。如果有小数,就换算成 m s。输入 0 值则系统将不断刷新,默认值是 5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f 或者 F 从当前显示中添加或者删除项目。
o 或者 O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和 CPU 状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据 CPU 使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc 文件中。这是写 top 配置文件的推荐方法。</pre></p>
(7)最终技能:顶级指挥技巧

<p><pre class="lang:default decode:true">    1、输入大写 P,则结果按 CPU 占用降序排序。
2、输入大写 M,结果按内存占用降序排序。
3、按数字 1 则可以显示所有 CPU 核心的负载情况。
4、top -d 5    每隔 5 秒刷新一次,默认 1 秒
5、top -p 4360,4358    监控指定进程
6、top -U johndoe    ‘U’为 真实/有效/保存/文件系统用户名。
7、top -u 500    ‘u’为有效用户标识
8、top -bn 1    显示所有进程信息,top -n 1 只显示一屏信息,供管道调用
9、top -M   #show memory summary in megabytes not kilobytes
10、top -p 25097 -n 1 -b    # -b 避免输出控制字符,管道调用出现乱码
11、top 翻页:top -bn1 | less</pre></p>
12、增强的top:htop,更强大的交互式进程管理器:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【远见汇智】 ( 京ICP备20013102号-17 )

GMT+8, 2025-5-5 10:19 , Processed in 0.064590 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表