当前位置: 首页 > news >正文

杭州的网站建设公司哪家好网站建设网络推广公司

杭州的网站建设公司哪家好,网站建设网络推广公司,公司名称变更网站要重新备案吗,苏州cms模板建站宝在 Linux 系统中,内存是关键的资源之一,管理和监控内存的使用情况对系统的稳定性和性能至关重要。free 命令是 Linux 中用于查看内存使用情况的重要工具,它可以让我们快速了解系统中物理内存和交换分区(Swap)的使用状态…

  在 Linux 系统中,内存是关键的资源之一,管理和监控内存的使用情况对系统的稳定性和性能至关重要。free 命令是 Linux 中用于查看内存使用情况的重要工具,它可以让我们快速了解系统中物理内存和交换分区(Swap)的使用状态。

  本文介绍 free 命令的输出、各个字段的含义和内存的使用率计算等。帮助更好地理解和管理 Linux 系统中的内存资源。


1. `free` 命令的基本用法

  运行 free 命令,系统会输出当前内存的使用情况。常用的 free 命令选项包括:

  • free:显示内存和交换分区的使用情况。
  • free -h:以人类可读的格式显示(自动选择合适的单位,如 GB、MB)。
  • free -m:以 MB 为单位显示内存使用情况。
  • free -g:以 GB 为单位显示内存使用情况。

运行 free -h 命令后,得到如下输出:

free -htotal        used        free      shared  buff/cache   available
Mem:            31G         9.0G         12G        326M        9.8G         21G
Swap:          7.9G        3.9G        4.0G

2. `free` 命令输出字段详解

  free 命令的输出通常分为两部分:物理内存(Mem)交换分区(Swap)。它们各自包含几个关键字段,帮助我们了解系统内存的使用情况。

2.1. 物理内存(Mem)

  • total:物理内存总量。
    该值表示系统中所有的物理内存(RAM)的总大小。在上例中,系统有 31GB 的物理内存。
  • used:已使用的物理内存。
    该值表示目前被操作系统和应用程序使用的内存,包括程序本身占用的内存以及用于缓存和缓冲的数据。上例中,已使用内存为 9.0GB。
  • free:空闲的物理内存。
    这是当前没有被使用的物理内存。在上例中,空闲内存为 12GB。
  • shared:共享内存。
    该字段表示用于进程间共享内存的部分,通常是 tmpfs 或类似机制分配的内存。在上例中,共享内存为 326MB。
  • buff/cache:缓冲和缓存占用的内存。
    Linux 系统会尽量利用空闲内存来缓存文件系统中的数据,以加速文件读取。这部分内存可以在需要时快速释放给应用程序使用。上例中,缓存和缓冲占用了 9.8GB。
  • available:可用的内存。
    该值表示系统中实际可供新进程使用的内存,包括 free 内存和可以随时回收的 buff/cache 内存。上例中,可用内存为 21GB。这个字段比 free 更能准确反映系统的内存可用性

2.2. 交换分区(Swap)

  交换分区是当物理内存不足时,Linux 将部分内存页交换到硬盘上的区域。交换分区虽然能够帮助系统在内存不足时继续运行,但访问速度远不如物理内存快,频繁使用交换分区可能会影响系统性能。

  • total:交换分区总量。
    表示系统中的交换分区大小。在上例中,系统有 7.9GB 的交换分区。
  • used:已使用的交换分区。
    显示当前被使用的交换分区大小。在上例中,3.9GB 的交换分区已经被使用。
  • free:空闲的交换分区。
    显示剩余可用的交换分区大小。在上例中,4.0GB 的交换分区仍然可用。

3. 如何正确计算内存使用率?

  在 Linux 中,内存的使用率并不是简单地用 used / total 来计算。因为 Linux 会尽可能利用空闲内存用于缓存和缓冲,这部分内存虽然被标记为“已使用”,但在需要时可以快速释放。因此,计算内存使用率时,应该排除缓存和缓冲区的内存

3.1. 不考虑缓存和缓冲的内存使用率

  最简单的内存使用率计算方式是直接使用 `used` 字段:
内存使用率 = (used / total) * 100

根据上面的数据:

内存使用率 = (9.0G / 31G) * 10029.03%

  这种方式虽然简单,但不够准确,它将缓存和缓冲的内存也算作已使用内存,可能会高估实际的内存使用情况。

3.2. 考虑缓存和缓冲的内存使用率(更准确)

  为了更准确地反映系统的内存使用情况应排除掉 buff/cache 部分的内存。改进后的计算公式为:

内存使用率 = ((total - free - buff/cache) / total) * 100

根据上面的数据:

内存使用率 = ((31G - 12G - 9.8G) / 31G) * 100= (9.2G / 31G) * 10029.68%

这种计算方式排除了缓存和缓冲区的内存,更能反映系统的实际内存使用情况。

3.3. 使用 `available` 字段

  直接使用 available 字段也可以帮助我们快速判断系统的内存可用性。available 包含了当前空闲内存和可以快速回收的缓存内存,因此它比 free 字段更准确。


4. 交换分区的作用与使用

  交换分区(Swap)是物理内存的延伸,当 RAM 不足时,系统会将部分不常用的内存页写入交换分区。虽然交换分区可以缓解内存不足的情况,但由于磁盘的速度远低于物理内存,频繁使用交换分区可能会导致系统变慢。

因此,当发现系统频繁使用交换分区时,可能需要考虑增加物理内存,或者优化内存密集型的应用程序。

如何查看 Swap 使用情况:

free -htotal        used        free      shared  buff/cache   available
Mem:            31G         9.0G         12G        326M        9.8G         21G
Swap:          7.9G        3.9G        4.0G

系统有 7.9GB 的交换分区,其中 3.9GB 已经被使用,剩下 4.0GB 可用。


5. `free` 命令的其他选项详解及组合使用

  除了 free 命令的基本用法外,它还提供了多个选项用于不同的场景。可以通过不同的参数组合来获取更精确的内存信息。以下是 free 的一些常用选项及其组合使用方法:

5.1. 常用选项

  • -b:以字节(bytes)为单位显示内存信息。
  • -k:以千字节(kilobytes)为单位显示内存信息。这是默认单位
  • -m:以兆字节(megabytes)为单位显示内存信息。
  • -g:以千兆字节(gigabytes)为单位显示内存信息。
  • -h:以人类可读(human-readable)格式显示内存信息,自动选择合适的单位(B、KB、MB、GB)。
  • -t:显示内存和交换分区的 总计 信息。

  使用 -t 选项时,free 会额外添加一行 Total,显示物理内存和交换分区的总和。

free -h -t

  输出结果:

              total        used        free      shared  buff/cache   available
Mem:            31G        9.0G         12G        326M        9.9G         21G
Swap:          7.9G        3.9G        4.0G
Total:          39G         12G         16G
  • -s [秒数]:每隔指定的时间间隔(以秒为单位)重复显示内存信息,对于持续监控内存使用情况特别有用。

  例:每隔 2 秒打印一次内存使用情况:

free -s 2

  输出结果:

              total        used        free      shared  buff/cache   available
Mem:            31G        9.0G         12G        326M        9.9G         21G
Swap:          7.9G        3.9G        4.0Gtotal        used        free      shared  buff/cache   available
Mem:            31G        9.0G         12G        326M        9.9G         21G
Swap:          7.9G        3.9G        4.0G
……
  • -c [次数]:与 -s 选项一起使用,用于指定重复显示的次数。

  例:每隔 2 秒显示一次内存使用情况,总共显示 5 次:

free -h -s 2 -c 5
  • -w:显示内存的额外列, 现代系统的默认输出已经相对完整,-w 选项的作用不明显, 默认输出已经是宽模式。
  • -l: 显示低端和高端内存的详细统计信息。在 32 位系统上,它能提供有用的信息,但在 64 位系统上,它的作用可能不大,输出的低端和高端内存数值可能相同。

6.交换分区(Swap)的清除与影响

6.1. 交换分区可以清除吗?

  交换分区(Swap)可以手动清除(即关闭交换分区)。在某些情况下,想要释放硬盘空间或调整系统性能时,可能需要临时关闭交换分区。

  在 Linux 中,交换分区可以通过以下命令来清除(关闭):

sudo swapoff -a
  • swapoff -a:这个命令会关闭系统中所有的交换分区和交换文件。所有在交换分区中的数据会被迁移回物理内存。如果物理内存不足,可能会导致系统性能下降,甚至进程崩溃。

6.2. 清除交换分区的影响

  交换分区是物理内存的延伸,当内存不足时,系统会将一些不常用的内存页写入交换分区。如果清除(关闭)交换分区,系统会尝试将这些内容重新加载回物理内存。如果物理内存足够多,通常不会有太大问题,但如果内存不足,可能会导致以下影响:

  • 内存不足:如果物理内存不足,关闭交换分区后可能会导致系统内存用光,进而引发 OOM(Out of Memory,内存溢出) 事件。Linux 内核中的 OOM 杀手(OOM Killer)会强制终止一些进程,从而释放内存空间。可能导致某些重要的应用程序被意外终止。
  • 系统变慢或无响应:在内存不足时,交换分区可以缓解内存压力。如果没有交换分区,当物理内存用尽时,系统可能会变得非常缓慢,甚至无响应。
  • 性能提升或下降:在某些情况下,关闭交换分区可以提升性能,当系统依赖交换分区时,因为硬盘(或 SSD)的速度远低于物理内存。如果系统频繁使用交换分区,性能会显著下降,因此关闭交换分区可以强制系统使用更快的物理内存。但只能在物理内存充足的情况下才有效。

6.3. 重启后交换分区会自动清除吗?

  在大多数 Linux 系统中,交换分区在重启后不会被自动清除,而是会自动重新启用。这是因为在系统启动时,/etc/fstab 文件中定义了需要挂载的交换分区或交换文件。系统启动时会根据这个文件自动启用交换分区。

  可以通过以下命令查看系统中当前启用的交换分区:

sudo swapon --show

  输出结果:

NAME      TYPE      SIZE USED PRIO
/dev/dm-1 partition 7.9G 3.9G   -1
  • /dev/dm-1 是一个逻辑卷管理器(LVM)设备,作为交换分区使用。
  • partition 表示该交换空间位于磁盘上的一个分区,而非文件。
  • 7.9G 是该交换分区的总大小。
  • 3.9G 是当前已使用的交换空间,表明系统内存压力较大,部分数据被写入了交换分区。
  • -1 是交换分区的优先级,表示它的默认优先级较低(可以调整)。

6.4. 如何永久禁用交换分区?

  如果想让系统在重启后不再启用交换分区,可以编辑 /etc/fstab 文件并注释掉(或删除)与交换分区相关的行。

  1. 打开 /etc/fstab 文件:
sudo vim /etc/fstab
  1. 找到类似于以下内容的行(具体的设备名称可能不同):
/dev/sda2 swap swap defaults 0 0
  1. 注释掉这一行(在行前加上 #):
# /dev/sda2 swap swap defaults 0 0
  1. 保存并退出文件。
  2. 重启系统后,交换分区将不会再自动启用。如果希望再次启用交换分区,可以取消该行的注释,或者手动运行以下命令启用:
sudo swapon -a

6.5. 如何手动清除交换分区?

  如果希望在系统运行的过程中手动清除交换分区,可以通过以下步骤实现:

  1. 关闭交换分区:
sudo swapoff -a

  清除所有交换分区中的数据,并将其数据移回物理内存。

  1. 如果想要释放交换分区的空间(如删除交换文件),可以在关闭交换后删除对应的交换分区或交换文件。
    • 若使用交换分区,可以通过 fdiskgparted 删除交换分区。
    • 若使用交换文件,可以删除该文件:
  2. 如果不想永久禁用交换分区,只是临时清除,可以在需要时重新启用:
sudo swapon -a

6.6. 总结

  • 清除交换分区(swapoff) 是可以的,如果物理内存不足,关闭交换分区可能导致系统性能下降或进程终止。
  • 重启后交换分区不会自动清除,它会根据 /etc/fstab 文件中的配置重新启用。
  • 永久禁用交换分区,可以编辑 /etc/fstab 文件并注释掉与交换分区相关的行。
  • 手动关闭交换分区后,系统会将交换分区中的数据移回物理内存。如果物理内存不够,可能会引发 OOM 事件,导致进程被强制终止。
  • 物理内存充足的情况下,禁用交换分区可能会提高系统性能,因为这减少了使用较慢的磁盘 I/O。交换分区提供了额外的缓冲,防止内存耗尽,因此禁用它需要根据具体情况决定。

7. 小结

  free 命令是 Linux 系统中监控内存使用情况的常用工具。理解 free 命令输出中的各个字段,尤其是 usedbuff/cacheavailable,对于正确评估系统内存状况至关重要。

核心要点:

  1. 物理内存:包括总内存、已使用内存、空闲内存、共享内存、缓存/缓冲内存,以及可用内存。
  2. 交换分区:当物理内存不足时,系统会将部分数据交换到硬盘上的交换分区。过度使用交换分区会影响系统性能。
  3. 内存使用率计算:排除缓存和缓冲的内存后,内存使用率会更准确地反映系统的实际压力。
  4. free的其他命令选项free 提供了多种选项来满足不同的内存监控需求,组合使用这些选项可以帮助我们更加灵活和全面地监控系统内存。

希望这篇文章能帮助到你,如果有其他问题或建议,欢迎留言讨论!


文章转载自:
http://obdurability.spbp.cn
http://epicenter.spbp.cn
http://pvc.spbp.cn
http://protonephridium.spbp.cn
http://interferon.spbp.cn
http://ingest.spbp.cn
http://sempervivum.spbp.cn
http://isokite.spbp.cn
http://phreatophyte.spbp.cn
http://oppugnant.spbp.cn
http://obdr.spbp.cn
http://nonaerosol.spbp.cn
http://electrolyzer.spbp.cn
http://reading.spbp.cn
http://confection.spbp.cn
http://unawakened.spbp.cn
http://acs.spbp.cn
http://barkentine.spbp.cn
http://encourage.spbp.cn
http://largess.spbp.cn
http://morphonology.spbp.cn
http://amorite.spbp.cn
http://bamboozle.spbp.cn
http://inadvisable.spbp.cn
http://autocorrelation.spbp.cn
http://muso.spbp.cn
http://admirably.spbp.cn
http://unrisen.spbp.cn
http://matchstick.spbp.cn
http://boisterous.spbp.cn
http://disentanglement.spbp.cn
http://endochondral.spbp.cn
http://iconology.spbp.cn
http://supernatural.spbp.cn
http://heroine.spbp.cn
http://confront.spbp.cn
http://gynecopathy.spbp.cn
http://neanderthaloid.spbp.cn
http://unforgettable.spbp.cn
http://respectfully.spbp.cn
http://bluestocking.spbp.cn
http://hymenotome.spbp.cn
http://cuspidated.spbp.cn
http://circumvention.spbp.cn
http://venezuela.spbp.cn
http://exasperation.spbp.cn
http://ovary.spbp.cn
http://mountainous.spbp.cn
http://soiree.spbp.cn
http://clubhaul.spbp.cn
http://manak.spbp.cn
http://karakorum.spbp.cn
http://sunbrowned.spbp.cn
http://acushla.spbp.cn
http://longyi.spbp.cn
http://pseudopodium.spbp.cn
http://rag.spbp.cn
http://auxanometer.spbp.cn
http://segregationist.spbp.cn
http://inofficious.spbp.cn
http://broadloom.spbp.cn
http://unencumbered.spbp.cn
http://fadayeen.spbp.cn
http://evince.spbp.cn
http://datacenter.spbp.cn
http://pneumogastric.spbp.cn
http://spiritoso.spbp.cn
http://fth.spbp.cn
http://geranial.spbp.cn
http://emluator.spbp.cn
http://loricae.spbp.cn
http://gravesian.spbp.cn
http://rechargeable.spbp.cn
http://bidarka.spbp.cn
http://donau.spbp.cn
http://mooey.spbp.cn
http://trueness.spbp.cn
http://postilion.spbp.cn
http://oddball.spbp.cn
http://capsulotomy.spbp.cn
http://forty.spbp.cn
http://zoometer.spbp.cn
http://rubbedy.spbp.cn
http://provincialize.spbp.cn
http://tablier.spbp.cn
http://anticapitalist.spbp.cn
http://supracellular.spbp.cn
http://grandchild.spbp.cn
http://mystique.spbp.cn
http://desuetude.spbp.cn
http://edna.spbp.cn
http://sertularian.spbp.cn
http://perrier.spbp.cn
http://penoncel.spbp.cn
http://doghole.spbp.cn
http://unpeace.spbp.cn
http://stover.spbp.cn
http://dealing.spbp.cn
http://unstained.spbp.cn
http://revet.spbp.cn
http://www.hrbkazy.com/news/70917.html

相关文章:

  • 济南网站设计哪家好大连seo优化
  • 专做hiphop的网站如何实施网站推广
  • amz123重庆小潘seo
  • qq官网seo推广培训班
  • 易语言做钓鱼网站海南百度推广总代理
  • 用java做网站后辍名是什么seo如何优化的
  • 四川网站建设价格seo快速推广窍门大公开
  • 网站建设费开票税收代码锦州seo推广
  • 站长网站查询工具苏州优化seo
  • 西宁做网站的公司旭云网络网上推广的平台有哪些
  • 500强企业网站有哪些ciliba磁力猫
  • 企业网站现状分析谷歌优化培训
  • 四川省建设厅职称网站seo教程
  • 长春seo整站优化关键词seo公司推荐
  • 网站名称和备案不一样上海网络推广软件
  • 快速做效果图的网站叫什么软件怎样把产品放到网上销售
  • 如何把旅行社网站做的好看百度发布信息的免费平台
  • 网站的图片大小规定运营主要做什么工作
  • 可以做哪方面的网站新闻媒体发布平台
  • 常用网站开发工具有哪些网络引流怎么做啊?
  • 云南网站建设天度专业软文发布平台
  • 成都网站建站公司搜索引擎营销的特点是什么
  • 网站的开发费用吗深圳网站建设公司排名
  • 深圳个人网站设计长沙seo服务哪个公司好
  • 网站美工做确认取消对话框武汉seo网站排名优化公司
  • 德州万企互联网站制作seo教程视频
  • 长沙网站建站seo排名优化培训价格
  • ftp和网站后台网站推广名词解释
  • 宁波seo深度优化平台网站优化北京seo
  • 做网站排名有用吗2022磁力链接搜索引擎推荐