runq 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
runq 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
runq 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
runq 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
runq 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache-2.0
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 云计算Docker 扩展
开源组织
地区 不详
投 递 者 李三石
适用人群 未知
收录时间 2018-07-11

软件简介

runq 是一个基于 hypervisor 的 Docker 运行时,基于 runc 在轻量级的 KVM/Qemu 虚拟机上运行普通的 Docker 镜像。旨在解决实际的问题,而不是堆叠功能。

功能特性

  • 设计简约,代码量少

  • 没有对现有的 Docker 工具进行修改 (dockerd, containerd, runc...)

  • runq 容器和普通的 runc 容器可共存

  • 在 Docker 之外没有额外的状态(没有 libvirt,没有更改 /var/run/...)

  • 简单的 init 守护进程,没有 systemd,没有 busybox

  • 不需要自定义访客内核或自定义 qemu

  • 可在  x86_64 和 s390x 上运行

runc vs. runq

       runc container                   runq container
       +-------------------------+      +-------------------------+
       |                         |      | +---------------------+ |
       |                         |      | |                  VM | |
       |                         |      | |                     | |
       |                         |      | |                     | |
       |       application       |      | |     application     | |
       |                         |      | |                     | |
       |                         |      | |                     | |
       |                         |      | +---------------------+ |
       |                         |      | |     guest kernel    | |
       |                         |      | +---------------------+ |
       |                         |      |           qemu          |
       +-------------------------+      +-------------------------+
 ----------------------------------------------------------------------
                                host kernel
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2020/07/30 11:30

goroutine调度源码阅读笔记

以下为本人阅读goroutine调度源码随手记的笔记,现在还是一个个知识点的形式,暂时还没整理,先发到这里,一点点更新: 1). runq [256]guintptr P 的runable队列最大只能保存256个G 2). 全局的可执行队列由schedt持有,runq gQueue 3). goroutine 状态从_Grunning转为_Grunnable后,解除g与m的关联,将g放入全局的任务队列,然后再找到一个新的_Grunable状态的G来执行 1 func goschedImpl(gp *g) { 2 status := readgsta...

0
0
发表了博客
2019/07/09 15:06

浅析State-Thread

State-Thread(以下简称st),是一个由C语言编写的小巧、简洁却高效的开源协程库。这个库基于单线程运作、不强制占用用户线程,给予了开发者最大程度的轻量级和较低的侵入性。本篇文章中,网易云信音视频研发大神将为大家简要分析State-Thread,欢迎大家积极留言,和我们共同讨论。 在开始这个话题之前,我们先来聊一聊协程。 什么是协程? 协程是一种程序组件。通常我们把协程理解为是一种程序自己实现调度、用于提高运行效率、...

0
0
2018/07/31 13:52

Go 调度模型

G P M 模型 定义于src/runtime/runtime2.go: G: Gourtines, 每个Goroutine对应一个G结构体,G保存Goroutine的运行堆栈,即并发任务状态。G并非执行体,每个G需要绑定到P才能被调度执行。 P: Processors, 对G来说,P相当于CPU核,G只有绑定到P(在P的local runq中)才能被调度。对M来说,P提供了相关的执行环境(Context),如内存分配状态(mcache),任务队列(G)等 M: Machine, OS线程抽象,负责调度任务,和某个P绑定,从P的runq中不...

0
0
发表于服务端专区
2015/01/08 23:20

State Threads 回调终结者

(感谢网友 @我的上铺叫路遥 投稿) 上回写了篇《一个“蝇量级”C语言协程库》,推荐了一下Protothreads,通过coroutine模拟了用户级别的multi-threading模型,虽然本身足够“轻”,杜绝了系统开销,但这个库本身应用场合主要是内存限制的嵌入式领域,提供原生态组件太少,使用限制太多,比如依赖其它调用产生阻塞等。 这回又替大家在开源界淘了个宝,推荐一个轻量级网络应用框架State Threads(以下简称ST),总共也就3000行C...

1
4
发表了博客
2019/07/30 06:05

性能测试-服务端瓶颈分析思路

概述 性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。 后端性能指标有CPU,内存,网络,I/O等等 分析思路 整体系统CPU利用率 内存利用率 磁盘I/O的利用率和延迟 网络利用率 CPU定位分析 监控命令:vmstat、sar、dstat、mpstat、top、ps 类型 度量方法 衡量标准 利用率 1、vmstat 统计1-%idle 2、sar -u 统计1-%idle 3、dstat 统计1-%idl 4、mpstat -P ALL 统计...

0
0
发表于DevOps专区
2019/11/26 10:20

性能测试连载 (28)-服务端瓶颈分析思路

概述 性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。 后端性能指标有CPU,内存,网络,jvm,I/O等等 分析思路 整体系统CPU利用率 内存利用率 磁盘I/O的利用率和延迟 网络利用率 CPU瓶颈分析 监控命令:vmstat、sar、dstat、mpstat、top、ps 类型 度量方法 衡量标准 利用率 1、vmstat 统计1-%idle 2、sar -u 统计1-%idle 3、dstat 统计1-%idl 4、mpstat -P ALL...

0
0
2016/09/26 09:19

State Threads

历史渊源 首先介绍一下这个库的历史渊源,从代码贡献者来看,ST不是个人作品,而是有着雄厚的商业支持和应用背景,比如服务器领域,在这里你可以看到ST曾作为Apache的多核应用模块发布。其诞生最初是由网景(Netscape)公司的MSPR(Netscape Portable Runtime library)项目中剥离出来,后由SGI(Silicon Graphic Inc)还有Yahoo!公司(前者是主力)开发维护的独立线程库。历史版本方面,作为SourceForge上开源项目,由2001年发...

0
0
发表于数据库专区
2019/11/14 18:09

[694]linux查看CPU使用率

1:top top -bn 1 -i -c top命令可以看到总体的系统运行状态和cpu使用效率 %us: 表示用户空间程序的cpu使用效率 %sy:表示系统空间程序的cpu使用效率 %ni: 表示用户空间通过nice调度过的程序的cpu使用效率 %id: 空闲cpu %wa:cpu运行时等待io的时间 %hi: cpu运行过程中硬中断的数量 %si: cpu处理软中断的数量 %st: 被虚拟机偷走的cpu 2: vmstat vmstat 1 5 每秒采集一次cpu使用率,采集5次 3:sar 每秒采集一次cpu,共采集5次 查看...

0
0
发表了博客
2019/05/23 21:01

详尽干货!从源码角度看 Golang 的调度

桔妹导读:本章主要从源码角度针对Go调度相关进行分析,从进程的启动,到调度循环分析,再到分析几个常见runtime下的场景可以清晰的了解调度过程。本文仅关注linux系统下的逻辑。代码版本参考Go1.9.2。 ————— ▍阅读索引 1.简单概念 1.1 调度器的三个抽象概念:G、M、P 1.2 调度的大致轮廓 2.进程启动时都做了什么 2.1 runtime.osinit(SB)方法针对系统环境的初始化 2.2 runtime.schedinit(SB)调度相关的一些初始化 2.3 ru...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部