OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

请记住,对于相同的平均负载,不同的系统会有不同的表现。 例如,具有支持硬件加速的图形卡的系统在渲染 3D 图像时没有问题,而具有廉价 VGA 卡的同一系统在渲染时会大大减慢。 当我启动 X 服务器时,我的旧 P133 会变得非常不舒服,但在现代系统上,您几乎不会注意到系统负载的差异。


图片

4.3.5. 作为用户我可以做任何事情吗?


一个大的环境会让你慢下来。 如果您设置了大量环境变量(而不是 shell 变量)、未优化的长搜索路径(设置路径环境变量时出错)以及更多通常“即时”进行的设置,则系统将需要更多的时间来搜索和读取数据。


在 X 中,窗口管理器和桌面环境可能是真正的 CPU 消耗者。 一个真正精美的桌面是有代价的,即使您可以免费下载它,因为大多数桌面都提供无限制的附加组件。 谦虚


如果你不每年都买一台新电脑,那是一种美德。


图片

4.3.5.1。 优先


工作的优先级或重要性由它的定义 不错 数字。 nice数高的程序对其他程序、其他用户和系统友好; 这不是一项重要的工作。 nice 数字越低,工作越重要,如果不共享它们,它需要的资源就越多。


通过增加工作的 nice 数使工作更好,仅对使用大量 CPU 时间的进程(编译器、数学应用程序等)有用。 总是使用大量 I/O 时间的进程会被系统自动奖励并给予更高的优先级(较低的 nice 数字),例如键盘输入总是在系统上获得最高优先级。


定义程序的优先级是通过 不错 命令。


大多数系统还提供 BSD 雷尼斯 命令,它允许您更改 善良 的运行命令。 再次阅读手册页以获取特定于系统的信息。


图片互动节目

这不是一个好主意 不错 or 雷尼斯 在前台运行的交互式程序或作业。

使用这些命令通常是系统管理员的任务。 阅读手册页以了解有关系统管理员可用的额外功能的更多信息。


图片

4.3.5.2. CPU资源


在每个 Linux 系统上,即使您是系统上唯一的用户,许多程序也希望同时使用 CPU。 每个程序都需要一定数量的 CPU 周期才能运行。 有时可能会因为 CPU 太忙而没有足够的周期。 这 正常运行时间 命令非常不准确(它只显示平均值,你必须知道什么是正常的),但远非无用。 如果您认为您的 CPU 是系统无响应的罪魁祸首,您可以采取一些措施:


• 在低负载时运行繁重的程序。 您的系统可能在夜间出现这种情况。 安排见下一节。

• 防止系统做不必要的工作:停止不使用的守护进程和程序,使用

定位而不是沉重的发现,...

• 以低优先级运行大型作业


如果在您的特定情况下这些解决方案都不是一个选项,您可能需要升级您的 CPU。 在 UNIX 机器上,这是系统管理员的工作。


图片

4.3.5.3. 内存资源


当当前运行的进程期望比系统物理可用的内存多时,Linux 系统不会崩溃; 它会开始分页,或者 交换,这意味着进程使用磁盘上或交换空间中的内存,将物理内存的内容(在交换的情况下运行的程序或整个程序的片段)移动到磁盘,从而回收物理内存以处理更多进程。 这会极大地降低系统速度,因为访问磁盘比访问内存慢得多。 这 最佳 命令可用于显示内存和交换使用情况。 使用 glibc 的系统提供 记忆 内存状态 命令来可视化内存使用情况。


如果您发现大量内存和交换空间正在被使用,您可以尝试:


• 杀死、停止或重新处理那些使用大量内存的程序

• 向系统添加更多内存(在某些情况下还有更多交换空间)。

• 调整系统性能,这超出了本文档的范围。 有关更多信息,请参阅附录 A 中的阅读清单。


图片

4.3.5.4. 输入输出资源


虽然 I/O 限制是给系统管理员带来压力的一个主要原因,但 Linux 系统提供了相当差的实用程序来衡量 I/O 性能。 这 ps, vmstat的 最佳 工具给出了一些关于有多少程序在等待 I/O 的指示; netstat命令 显示网络接口统计信息,但实际上没有可用的工具来测量对系统负载的 I/O 响应,以及 iostat的 命令给出了一般 I/O 使用的简要概述。 存在各种图形前端以将这些命令的输出置于人类可理解的形式中。


每个设备都有自己的问题,但网络接口可用的带宽和磁盘可用的带宽是 I/O 性能瓶颈的两个主要原因。


网络 I/O 问题:


• 网络过载:


通过网络传输的数据量大于网络容量,导致所有用户执行每个网络相关任务的速度缓慢。 它们可以通过清理网络(主要包括禁用不需要的协议和服务)或重新配置网络(例如使用子网、用交换机替换集线器、升级接口和设备)来解决。

• 网络完整性问题:


当数据传输不正确时发生。 解决此类问题只能通过隔离故障元件并更换它来完成。


磁盘 I/O 问题:


• 每进程传输速率太低:


单个进程的读取或写入速度是不够的。

• 总传输率太低:


系统可以为所有运行的程序提供的最大总带宽是不够的。


这种问题更难检测,如果硬件过载是问题的原因,通常需要额外的硬件来重新划分总线、控制器和磁盘上的数据流。 解决此问题的一种解决方案是针对输入和输出操作优化的 RAID 阵列配置。 这样,您就可以保持相同的硬件。 升级到更快的总线、控制器和磁盘通常是另一种选择。


如果过载不是原因,则可能是您的硬件逐渐出现故障,或者与系统的连接不畅。 首先检查触点、连接器和插头。


图片


4.3.5.5。 用户


用户可以分为几类,具体取决于他们对资源使用的行为:


• 运行(大量)小型作业的用户:例如,您,Linux 初学者。

• 运行相对较少但较大作业的用户:运行模拟、计算、仿真器或其他占用大量内存的程序的用户,并且通常这些用户具有随附的大数据文件。

• 运行少量作业但使用大量 CPU 时间的用户(开发人员等)。


您可以看到,每个用户类别的系统要求可能有所不同,并且很难满足所有人。 如果您使用的是多用户系统,那么了解其他用户和系统的习惯会很有用(并且很有趣),以便为您的特定目的充分利用它。


图片

4.3.5.6. 图形工具


对于图形环境,有大量可用的监控工具。 下面是 Gnome 系统监视器的屏幕截图,它具有显示和搜索进程信息以及监视系统资源的功能:


图 4-3。 Gnome 系统监视器


图片


您还可以在任务栏中安装几个方便的图标,例如磁盘、内存和负载监视器。 加载 是另一个用于监控系统负载的小型 X 应用程序。 找到你最喜欢的!


图片

4.3.5.7. 中断您的流程


作为非特权用户,您只能影响自己的进程。 我们已经看到了如何显示进程和过滤掉属于特定用户的进程,以及可能发生的限制。 当您发现其中一个进程占用了过多的系统资源时,您可以做两件事:


1. 使进程在不中断的情况下使用更少的资源;

2. 完全停止该过程。


如果您希望进程继续运行,但又希望给系统上的其他进程一个机会,您可以 雷尼斯 过程。 Appart 从使用 不错 or 雷尼斯 命令, 最佳 是一种发现麻烦进程并降低优先级的简单方法。


标识“NI”列中的进程,它很可能具有负优先级。 类型 r 并输入要重新处理的进程的进程 ID。 然后输入 nice 值,例如“20”。 也就是说,从现在开始,这个过程最多占用 1/5 的 CPU 周期。


您希望继续运行的进程示例包括模拟器、虚拟机、编译器等。


图片

如果您想停止一个进程,因为它挂起或在 I/O 消耗、文件创建或其他系统资源的使用方面完全疯狂,请使用 命令。 如果有机会,首先尝试软杀死进程,将其发送到 目标期限 信号。 根据程序代码中描述的过程,这是一条终止正在执行的任何操作的指令:


乔:~> 聚苯乙烯 | grep的 Mozilla的

乔 25822 1 0 Mar11 ?

00:34:04 /usr/lib/mozilla-1.4.1/mozilla-

乔:~> 聚苯乙烯 | grep的 Mozilla的

乔 25822 1 0 Mar11 ?


乔:~> 杀-15 25822

乔:~> 杀-15 25822

在上面的例子中,用户 停止了他的 Mozilla 浏览器,因为它挂了。


图片

有些过程有点难以摆脱。 如果您有时间,您可能希望向他们发送 SIGINT 信号以中断他们。 如果这也不起作用,请使用最强的信号 SIGKILL。 在下面的例子中, 停止被冻结的 Mozilla:


乔:~> 聚苯乙烯 | grep的 Mozilla的

乔 25915 1 0 Mar11 ?

00:15:06 /usr/lib/mozilla-1.4.1/mozilla-

乔:~> 聚苯乙烯 | grep的 Mozilla的

乔 25915 1 0 Mar11 ?


乔:~> 杀-9 25915


乔:~> 聚苯乙烯 | grep的 25915

乔 2634 32273 0 18:09 分/4 00:00:00 grep 25915

乔:~> 杀-9 25915


乔:~> 聚苯乙烯 | grep的 25915

乔 2634 32273 0 18:09 分/4 00:00:00 grep 25915

在这种情况下,您可能想要检查进程是否真的死了,使用 grep的 再次过滤PID。 如果这仅返回 grep的 过程,您可以确定已成功停止该过程。


难以杀死的进程之一是您的 shell。 这是一件好事:如果他们很容易被杀死,那么你每次打字时都会脱壳 按Ctrl-C 意外地在命令行上,因为这相当于发送一个 SIGINT。


图片没有管道的 UNIX 几乎是不可想象的

使用管道 (|) 将一个命令的输出用作另一个命令的输入将在下一章第 5 章中解释。

OnWorks 的顶级操作系统云计算: