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

帝国cms手机游戏应用网站模板知名的seo快速排名多少钱

帝国cms手机游戏应用网站模板,知名的seo快速排名多少钱,网站前期建设,做网站建设 个体经营 小微企业前言 Linux 内核负责系统中所有进程与硬件的安全交互,内核必须确保将硬件资源合理分配给各个进程,以确保计算机可以正常运行。不至于某一个进程直接占用完所有资源,导致其它进程无法工作,甚至操作系统直接崩溃。比如,…

前言

Linux 内核负责系统中所有进程与硬件的安全交互,内核必须确保将硬件资源合理分配给各个进程,以确保计算机可以正常运行。不至于某一个进程直接占用完所有资源,导致其它进程无法工作,甚至操作系统直接崩溃。比如,内核引入了OOM(Out Of Memory) Killer 机制,在系统内存耗尽前,内核会主动 kill 掉某些进程,以释放足够的内存防止系统崩溃。

既然内核知道哪些进程占用了大量的资源,从而选择牺牲掉部分进程而保护核心进程,那么内核自然也应该具备预先对进程占用资源进行限制的能力,这就是 cgroup 诞生的背景。

Linux cgroup(Control Groups)技术诞生于2007年,由 Google 的工程师发起,目的是为了解决资源管理和隔离的问题。cgroup 可以限制进程组使用的 CPU、内存、磁盘 I/O 和网络带宽等资源,防止某些进程过度消耗资源,影响系统的整体性能,并且可以实时地监控进程的监控与统计信息。

cgroup 的引入极大地增强了 Linux 系统在多租户环境下的资源管理能力,是容器技术得以实现的重要基础。

cgroup 组成

cgroup 技术主要由以下几个组件组成:

  1. 子系统(Subsystems):也称为控制器(Controllers),用于执行资源限制和管理。常见的子系统包括:
    • cpu:限制和监控CPU使用。
    • memory:限制和监控内存使用。
    • blkio:限制和监控块设备I/O。
    • net_clsnet_prio:管理网络带宽。
    • pids:限制进程数量。
  2. 层级(Hierarchy):cgroup 是分层的,允许创建父子关系的组。每个层级可以附加不同的子系统。
  3. cgroup 目录结构:在文件系统中,每个 cgroup 是一个目录,包含用于配置和监控的文件。

这些组件共同工作,实现对系统资源的精细控制和管理。

cgroup v1 v2

cgroup 存在两个版本,分别是 v1、v2。

cgroups v1 是最初的实现,随着时间的推移,用户和开发者发现了一些设计上的局限性和复杂性。cgroups v2 是对 v1 的改进,旨在解决其复杂性和一致性问题,同时引入新的功能。两个版本共存是为了给用户和开发者提供过渡时间,以便从 v1 迁移到 v2。

v1 和 v2 的区别主要有:

  • v1 是模块化的,每个子系统(如 CPU、内存、I/O 等)都有自己的层次结构,因此管理和配置变得复杂
  • v2 所有子系统共享一个单一的层次结构,简化了管理
  • v2 提供了更一致和简化的接口,减少了配置的复杂性
  • v2 提供了更精细的资源控制和隔离能力

cgroup 以文件系统的方式挂载到主机,如下示例,采用的是 v2 版本,对应本地的/sys/fs/cgroup 目录。

> /sys/fs/cgroup# mount | grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2

cgroup v2 使用

要使用 cgroup,你需要先给控制组取个名字,然后在 /sys/fs/cgroup 下创建一个同名文件夹,接着内核会自动生成一组文件和子目录,这些文件和目录用于配置和监控 cgroup 的资源使用情况。

例如新建控制组 mygroup,mkdir /sys/fs/cgroup/mygrou 创建文件夹后,会发现内核已经帮我们创建好了子文件。

> ls /sys/fs/cgroup/mygroup
cgroup.controllers      cgroup.subtree_control  cpu.uclamp.max         cpuset.mems.effective  memory.events.local  memory.stat
cgroup.events           cgroup.threads          cpu.uclamp.min         io.max                 memory.high          memory.swap.current
cgroup.freeze           cgroup.type             cpu.weight             io.pressure            memory.low           memory.swap.events
cgroup.kill             cpu.idle                cpu.weight.nice        io.prio.class          memory.max           memory.swap.high
cgroup.max.depth        cpu.max                 cpuset.cpus            io.stat                memory.min           memory.swap.max
cgroup.max.descendants  cpu.max.burst           cpuset.cpus.effective  io.weight              memory.numa_stat     pids.current
cgroup.procs            cpu.pressure            cpuset.cpus.partition  memory.current         memory.oom.group     pids.events
cgroup.stat             cpu.stat                cpuset.mems            memory.events          memory.pressure      pids.max

要限制某个进程的资源,直接把进程 ID 写入到cgroup.procs 文件即可,如下所示,把当前进程 ID 写入:

> echo $$ > /sys/fs/cgroup/mygroup/cgroup.procs
> cat /sys/fs/cgroup/mygroup/cgroup.procs
74343
78507

限制 cpu 资源

前面已经把当前进程 ID 写入到cgroup.procs ,代表当前进程已经被 mygroup 管理了。

要想限制进程的 cpu 资源,把配置写到目录下的cpu.max 文件即可,先查看格式:

> cat /sys/fs/cgroup/mygroup/cpu.max
20000 100000

cpu.max 格式组成:max_quota max_period,max_period 是时间周期,单位是微妙,默认是 100000μs,即 100ms。max_quota 是在这个时间周期内,进程最多可以占用 cpu 的时间,默认是 20000μs,即 20ms。默认配置,意味着进程最多可以占用 1/5 个cpu 核心。

现在,我们让当前进程最多占用 0.5 个 cpu 核心

> echo '50000 100000' > /sys/fs/cgroup/mygroup/cpu.max

测试验证,当前进程运行一个死循环,打满 cpu。

> while : ; do : ; done &

top 命令查看 cpu 的使用情况,我的主机是 2 核的,所以实际占用 25% 左右,限制生效了。

另外,/sys/fs/cgroup/mygroup/cpu.stat 文件也详细记录了进程对 cpu 的消耗情况

> cat /sys/fs/cgroup/mygroup/cpu.stat
usage_usec 87248657
user_usec 87068432
system_usec 180224
nr_periods 2531
nr_throttled 2448
throttled_usec 158217434

限制 memory 资源

cgroup 限制进程内存资源,对应的是memory.max 文件,默认值 max 表示无限制

> cat /sys/fs/cgroup/mygroup/memory.max
max

这里修改配置,限制最大内存 10M

> echo $((10 * 1024 * 1024)) > /sys/fs/cgroup/mygroup/memory.max
> cat /sys/fs/cgroup/mygroup/memory.max
104857600

然后写个程序,申请 20M 内存,然后写满 0(目的是真的申请物理内存)

> cat alloc.c
#include <stdlib.h>
#include <stdio.h>int main() {size_t size = 1024 * 1024 * 20; // 20 MBvoid *ptr = malloc(size);memset(ptr, 0, size);return 0;
}

gcc 编译代码,然后执行,进程会被 kill,代表内存限制生效了

> gcc alloc.c
> ./a.out
Killed

其它类型的案例,这里不再展示。

尾巴

Linux cgroup(Control Groups)技术可以限制进程组使用的CPU、内存、磁盘I/O等资源,防止某个进程消耗过多资源影响系统稳定性。cgroup是容器技术(如Docker、Kubernetes)的基础,确保每个容器的资源使用互不干扰。限制容器的资源使用,防止恶意或错误的进程影响宿主机。

cgroup与命名空间(namespace)结合,提供了容器化技术的核心功能,实现了高效的资源管理和隔离。


文章转载自:
http://pionization.rdbj.cn
http://joltheaded.rdbj.cn
http://leery.rdbj.cn
http://bulkhead.rdbj.cn
http://misexplain.rdbj.cn
http://irone.rdbj.cn
http://rakehell.rdbj.cn
http://billowy.rdbj.cn
http://hornist.rdbj.cn
http://narcomania.rdbj.cn
http://isolable.rdbj.cn
http://bobsledding.rdbj.cn
http://nantz.rdbj.cn
http://hernial.rdbj.cn
http://prognosticate.rdbj.cn
http://zionite.rdbj.cn
http://restrictee.rdbj.cn
http://polyphyleticism.rdbj.cn
http://abampere.rdbj.cn
http://tagraggery.rdbj.cn
http://retropulsion.rdbj.cn
http://clype.rdbj.cn
http://inhibiting.rdbj.cn
http://maladjusted.rdbj.cn
http://inscribe.rdbj.cn
http://cystoflagellata.rdbj.cn
http://radiopacity.rdbj.cn
http://dumpling.rdbj.cn
http://deportee.rdbj.cn
http://calamiform.rdbj.cn
http://tricoline.rdbj.cn
http://cyaneous.rdbj.cn
http://laster.rdbj.cn
http://sequela.rdbj.cn
http://chandleress.rdbj.cn
http://promptive.rdbj.cn
http://luebke.rdbj.cn
http://neologism.rdbj.cn
http://carbamoyl.rdbj.cn
http://hyphenism.rdbj.cn
http://cotarnine.rdbj.cn
http://tippy.rdbj.cn
http://hebron.rdbj.cn
http://paleozoology.rdbj.cn
http://gipsy.rdbj.cn
http://poppyseed.rdbj.cn
http://sourdough.rdbj.cn
http://trading.rdbj.cn
http://tulsa.rdbj.cn
http://exalbuminous.rdbj.cn
http://dracon.rdbj.cn
http://kawasaki.rdbj.cn
http://pilau.rdbj.cn
http://etorphine.rdbj.cn
http://obstetrical.rdbj.cn
http://deurbanize.rdbj.cn
http://coinstitutional.rdbj.cn
http://mundify.rdbj.cn
http://tackling.rdbj.cn
http://methodologist.rdbj.cn
http://jackpot.rdbj.cn
http://radionics.rdbj.cn
http://kroll.rdbj.cn
http://paleoflora.rdbj.cn
http://swollen.rdbj.cn
http://hpna.rdbj.cn
http://yarovize.rdbj.cn
http://drillable.rdbj.cn
http://epiglottal.rdbj.cn
http://phobos.rdbj.cn
http://tac.rdbj.cn
http://undivided.rdbj.cn
http://balkanize.rdbj.cn
http://demean.rdbj.cn
http://liter.rdbj.cn
http://bran.rdbj.cn
http://phototube.rdbj.cn
http://taphonomy.rdbj.cn
http://racontage.rdbj.cn
http://scrimshank.rdbj.cn
http://brucella.rdbj.cn
http://bedivere.rdbj.cn
http://limited.rdbj.cn
http://unrestraint.rdbj.cn
http://flask.rdbj.cn
http://stereoscope.rdbj.cn
http://deathday.rdbj.cn
http://intermedia.rdbj.cn
http://falteringly.rdbj.cn
http://robbery.rdbj.cn
http://axe.rdbj.cn
http://trimotored.rdbj.cn
http://larch.rdbj.cn
http://discriminant.rdbj.cn
http://cruiserweight.rdbj.cn
http://amphicoelous.rdbj.cn
http://spontaneous.rdbj.cn
http://magnification.rdbj.cn
http://nomogram.rdbj.cn
http://typhoidin.rdbj.cn
http://www.dt0577.cn/news/112079.html

相关文章:

  • 关于织金县网站建设的论文友链查询站长工具
  • 注册好网站以后怎么做个人网站创建平台
  • 潼关县住房和城乡建设局网站北大青鸟培训机构官网
  • 做网站模板用什么框架媒体:北京不再公布各区疫情数据
  • 网络营销外包有限公司班级优化大师官网下载
  • 公司装修合同模板优化大师百科
  • c 可以用来做网站吗营销推广案例
  • 做网站在哪里申请查数据的网站有哪些
  • 能源网站开发电商网站建设公司哪家好
  • 怎样做违法网站小说引流推广
  • 在dw里如何做网站设计公司排名
  • 珠海网络营销外包收费情况外贸网站推广seo
  • 个人性质网站名称seo站长平台
  • 怎么做网页 网站制作google搜索关键词热度
  • 有网站做点什么好湖北网络推广有限公司
  • 珠海网站建设网络公司seo模板建站
  • 中山有网站建设公司吗网络推广的方式和途径有哪些
  • 我的世界搞头怎么做的视频网站网站维护的主要内容
  • 小企业官方网站制作品牌营销策略四种类型
  • 法律推广网站成都网站建设企业
  • 厦门旅游网站建设百度点击器下载
  • app定制开发网站制作网站关键词优化排名外包
  • 网红营销定义官方正版清理优化工具
  • 懂做游戏钓鱼网站的湖南网站推广公司
  • 武汉光谷医院应用商店aso优化
  • 网站加密传输怎么做营销型网站建设的步骤流程是什么
  • 网站开发外包费用会计科目厦门seo排名收费
  • 公司做两个网站有影响吗百度快速提交入口
  • 网站中的实名身份证验证怎么做网站查询ip
  • 设计创意广告衡阳seo