Linux服务管理(如何关闭或禁用不需要的服务

Linux服务管理(如何关闭或禁用不需要的服务,第1张

在安装Linux *** 作系统时,一些不必要的数据包和应用程序会在用户不注意的情况下自动安装。在本文中,我们将讨论如何将Linux系统中一些不必要的应用程序和服务禁用,以保护你的系统资源。

首先让我们来看看系统中正在运行哪些服务。使用以下命令:

输出结果

现在让我们使用下面的netstat命令快速浏览接受连接的进程(端口)。

输出结果

从上面的输出结果中,你会发现一些不需要在服务器上运行的应用程序,如:

1. smbd and nmbd

smbd和nmbd是Samba的后台进程。你真的需要在Windows或其他机器上输出smb分享吗?如果不是,为什么运行这些进程呢?

你可以在下一次机器启动时关闭开机启动设置,这样就能安全地关闭或禁用这些进程。

2. Telnet

你需要通过互联网或者局域网进行适合文本形式的通讯吗?如果不是的话,在机器启动时关闭这个进程吧。

3. rlogin

你需要通过网络登录到另一个主机吗?如果不需要的话,那么在机器启动时关闭这个进程的开启启动功能。

4. rexec

远程进程执行rexec允许你在远程计算机上执行shell命令。如果你不需要在远程机器上执行shell命令,请关闭该进程。

5. FTP

你需要将一个主机上的文件通过网络转移到另一个主机上吗?如果不需要,你可以停止FTP服务。

6. automount

你需要自动挂载不同的文件系统,d出网络文件系统吗?如果不是,为什么要运行这个进程,为什么要让这个应用程序占用你的资源呢?关闭它的自动启动功能吧。

7. named

你需要运行域名服务器(DNS)吗?如果不是,你应该关掉这个进程,释放你的资源。先关闭正在运行的进程,然后关闭开机启动设置。

8. lpd

lpd是打印机的后台进程。如果你不需要从服务器打印,该进程会消耗你的系统资源。

9. Inetd

你运行inetd服务吗?如果你正在运行独立应用程序,如ssh,ssh会使用其他独立的应用程序,比如Mysql、Apache等。如果你不需要inetd,最后在下次自动启动时关闭掉。

10. portmap

Portmap是一个开放网络计算远程过程调用(ONC RPC),启用后台进程rpc.portmap和rpcbind。如果这些进行运行,意味着你正在运行NFS服务器。如果你没有注意到NFS服务器运行的话,意味着你的系统资源正在消耗。

如何在Linux系统中杀死一个进程

可以使用“Kill PID”命令杀死一个在Linux中运行的进程。但是在运行Kill命令之前,我们必须了解进程的PID。例如,我想找“cupsd”进程的PID。

那么“cupsd”进程的PID是1511。运行下面的命令杀死该PID。

如何禁用Linux服务

对于红帽发行版如Fedora和CentOS,利用“chkconfig”脚本来启用和禁用Linux系统中运行的服务。

例如,在系统启动时禁用Apache web服务器。

对于基于Debain的发行版如Ubuntu、Linux Mint和其他Debian发行版,使用一个叫做update-rc.d的脚本。

例如,在系统启用时使用下面的命令禁用Apache服务。这里“- f”选项代表强制性。

做了这些变更之后,系统下次启动时不会再运行这些没有必要的进程,从而为我们节约了系统资源。服务器将会更实用、快速、安全。

结果如表 1 所示。 表1. Web 浏览器的内存使用情况比较 应用程序 Effective resident 内存(KB) Resident 内存(KB) Firefox 27708 35068 Opera 20477 27816 Konqueror 13479 29748 Dillo 2776 6888 Lynx 1101 1540 从该表可以看出,这些浏览器的内存使用情况存在很大差异,内存需求最高的浏览器(Firefox)使用的内存比需求最低的浏览器(Lynx)多了大约 27 倍。这并不是非常公平的比较,因为 Lynx 并不能实现同样的功能(举例来说,它甚至不能显示图形),但这说明,可以根据需求极大地降低内存的使用情况。尽管表 1 中列出的前 3 个浏览器的功能与第一个浏览器的功能多少有些相同,但 Opera 使用的内存大约只有 Firefox 的 2/3,Konqueror 使用的内存比 Firefox 少一半。 对于要求不太高的使用需求来说,Dillo 是介于功能完善的浏览器和只有少量开销的 Lynx 之间的折中方案。Dillo 提供了一个 GUI;但在默认状态下其功能相当有限,没有其他插件时甚至不支持 SSL! 还需要注意我们对共享内存的使用也进行了比较,Konqueror 的执行情况比 Firefox 更好,它使用的内存大约少 14MB;然而,如果查看一下总体使用情况,Konqueror 也仍然高于 Firefox,但差距不大,大约只有 5MB。这是因为 Konqueror 大量地使用了 KDE 共享库,使用 KDE 桌面时,这些库被加载到各种应用程序。然而,如果没有使用任何其他 KDE 应用程序,Opera 将是比 KDE 更佳的选择。稍后我们将更加详细地讨论这个问题。 文字处理器为了测试文字处理器,我加载了首次对表 2 中列出的文字处理器进行测试时使用的同一个 Microsoft Word 格式的文档。 表2. 文字处理器的内存使用情况比较 应用程序 Effective resident 内存(KB) Resident 内存(KB) OpenOffice Writer 70114 81960 AbiWord 58029 65224 KWord(来自 KOffice) 46512 60096 从这些数字可以明显看出,OpenOffice Writer 使用的内存比 KWord 或 AbiWord 都要多。KWord 使用的内存仅次于 OpenOffice,它在正确地显示 Microsoft Word 格式的文档方面做得最好。尽管 AbiWord 也可以成功地打开该文档,但在正确显示文档时会遇到一些问题,因此如果对您来说与 Microsoft Office 的协作非常重要,最好选择 OpenOffice。 即时消息客户机 为了测试即时消息,我使用表 3 给出的 IM 客户机分别登录到 MSN Messenger 帐号中。 表3. IM 客户机的内存使用情况比较 应用程序 Effective resident 内存(KB) Resident 内存(KB) aMSN 18455 20344 Gaim 13456 21464 Kopete 10988 24176 KMess 7154 19660 此处,Kmess 最适合我,并且它是合理的选择,因为我只对连接到 MSN 感兴趣。如果需要使用其他服务,那么 Kopete 似乎是最好的选择。不过要注意,如果使用不同的 IM 协议,应用程序使用的内存可能会增加;另外,Kmess 是集成的 KDE 应用程序,如果没有使用 KDE,Gaim 可能更适合您。 分析、选择并不断重复 现在您已经了解如何分析应用程序的内存使用情况;可以对自己感兴趣的所有应用程序类型简单地重复这个过程,体验各种可用选择,直到找到内存需求最低又能满足功能需求的选择为止。 在上面的 Web 浏览器一节中,您可能会注意到:在使用应用程序时,最节省内存的通常是与桌面环境紧密集成的应用程序。这是因为这些应用程序通常大量使用嵌入到 DE 中的共享库,并且这些共享库可能早已加载到系统中。举例来说,Konqueror 是 KDE 的文件管理器和 Web 浏览器;因此,它在 KDE 系统上运行时使用的内存明显少于 Firefox,这是因为它的大部分功能已经通过其他应用程序加载到该系统。类似地,如果希望使用 RSS 聚合器,Akregator 可能是很好的选择,因为它同样非常可能使用相同的库。 因此,如果您注重内存使用情况,则在自己的 系统上执行这些测试非常重要,这是因为很难通过查看他人的基准测试结果来了解哪个应用程序在您的系统上使用的内存较少。 这个事实对于选择 DE 也有影响。举例来说,如果真正希望使用 Konqueror,则使用 KDE 作为 DE 可能最为有效。类似地,如果您是 GNOME 用户,在使用您感兴趣的简短 KDE 应用程序之前需要三思,因为它可能会使用整个主机来加载库,但只有自己会使用这些库。 步骤3:删除不希望使用的服务和设置 选定发行版、桌面环境和应用程序组合之后,哪些工作还可以降低使用的内存呢?要回答这个问题,需要对系统进行深入挖掘和配置。借助 exmap,可以分析出系统上正在运行的内容,然后尝试删除不需要的内容,并按照自己的需要对系统进行配置。 较好的着手点是系统引导时自动启动的服务,但这样做需要非常小心,才不至于删除系统运行时需要的任何内容。需要研究具体的发布版需要哪些内容,以及服务的配置方式,因为各个发行版的这些内容可能有所不同。有些发行版比其他发行版差,因为它默认启动很多不需要的服务,例如 Web 服务器等,这会占用大量内存。 除了系统服务之外,您可能还希望了解 DE 的配置情况,因为它也可能启动不需要的服务。 我的Kubuntu 系统看起来并没有启动太多不必要的服务,但是快速查看一下进程列表,就会发现一些明显能够删除的内容: HPLIP(4.4MB):HP 打印机和扫描器所使用的服务。由于这台机器上并没有连接此类设备,所以并不需要该服务。 cupsd(1.1MB):打印机后台处理进程。由于这台机器并没有连接打印机,所以并不需要该服务。 kbluetoothd(3.2MB):KDE Bluetooth 后台处理进程。由于这台机器上并没有 Bluetooth 连接,所以并不需要该服务。 klipper(1.7MB):KDE 剪切板工具。我没有考虑使用这个工具,因此将其禁用。 KMix(4.1MB):KDE 音频合成器。并不是所有时间都需要运行它,因为我通过外部喇叭来调节音量。 只需花 5 分钟进行配置,就能节省 14MB 左右的内存,与最初大约节省 77MB 相比,这是不错的着手点。 深入了解您的 DE 和其他大型应用程序的设置非常值得,因为有些设置可能会影响所使用的内存量。举例来说,通过减少虚拟桌面的个数,也许可以节省一些内存,使用较大的位图作为背景时尤其如此。关闭一些奇异的显示特效也可能有所帮助。 步骤4:期望要适当 在使用旧硬件时,应该考虑到该机器的局限,并正确地进行 *** 作。举例来说,如果希望编辑一组照片,请不要同时打开所有照片。这样只会不必要地消耗内存。如果依次打开,并且编辑之后立即将其关闭,就会简单很多。类似地,如果您正在尝试捕获并编辑一些视频,请考虑单独捕获每一个屏幕,而不要一次捕获所有屏幕;如果正在创建包含图形展示的大型文档,则在编辑完文本之前不要添加图片。 步骤5:优化系统 最后一个步骤是查看系统中的内存大户,并找出是否可以从某处节省一些内存。有很多节省内存的机会,但性能就会有所下降,对于大多数人来说,对性能产生的负面影响和所需的工作量,使得这样做非常不值得。不过,可以考虑下面一些 *** 作: 只使用硬件特有的驱动程序重新编译内核。大部分主流发行版都适合于大量硬件,因此它们通常支持您没有使用的很多硬件。这可以产生一定的优势,尽管以模块形式存在的硬件支持在不需要时不会加载到系统中。 重新编译特定的应用程序或库,这样就可以对大小进行优化,使其专门用于正在使用的特定 CPU,从而也可以节省一些内存。Gentoo 发行版在这个方面做得非常好,您可以使用自己选择的确切编译标记轻松地重新编译某些或所有系统组件。遗憾的是,这个过程在老机器上执行时可能非常漫长。 删除应用程序或库的某些特性,然后对其重新编译也可以降低一些内存需求。借助 Gentoo 又是很好的主意,因为它包含 USE 标记的概念,允许在禁用应用程序的特性之后,轻松构建系统。这样可以极大地减少应用程序的大小,应用程序发布时通常都支持大量的文件格式、编码等,这通常需要加载一些库来提供实际支持。如果您知道自己永远都不会阅读(比如说)JPEG 文件,就可以在 Gentoo 中说明这一点(通过 USE="-jpeg"),这样任何处理图形的应用程序编译后都不支持 JPEG,从而可以降低内存负载。 最近推出的 2.6 内核有一个 swappiness 参数,它可以在运行时进行调优。这个参数决定了,将应用程序移动到交换空间而不是移动到正在减少的高速缓存和缓冲区中的可能性,在前面的测试中可以看到,将应用程序交换出去,而保留大块物理内存以进行缓存的情况很常见。通过降低交换出去的可能性,缓存可能减少,这样就可以在内存中保留更多应用程序。但是,这种移动是否真正会使机器运行得更快,取决于正在运行的应用程序。如果在应用程序之间频繁地换入换出,那么机器的响应能力可能会提高,因为它们位于内存中的概率增加了;然而,如果有一个任务会执行大量磁盘读写 *** 作,这样做可能速度很慢。通常,降低 swappiness 可以提高交互式应用程序的响应能力,但是会降低系统的总体吞吐量。 结束语本文的思想可以使您的老机器重新焕发青春(以及其他一些安全性),并在老式硬件上更好地使用 Linux。测量结果显示,一台 800-MHz/256-MB 的机器可以很好地运行一个相当好用的 Linux 桌面,以满足轻量级的日常办公和家用需求,如发送 e-mail、浏览 Web、文字处理等工作。稍作调整并进行实验,即使 128MB 的机器也可以成为令人满意的桌面计算机。 尽管本文重点讲述在相当有限的硬件上实现功能良好的桌面,也可以对其他 Linux 应用采用相同的原理。不管最新的超大机器上有多少内存,很快就会发现新应用程序已占满了这些内存。(T002)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8798255.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存