SUSE Labs 团队探索了 Kernel CPU 隔离及其核心组件之一:Full Dynticks(或 Nohz Full),并撰写了本系列文章:
| 导语本文主要是讲Linux的调度系统, 由于全部内容太多,分三部分来讲,本篇是中篇(主要讲抢占和时钟),上篇请看(CPU和中断):Linux调度系统全景指南(上篇),调度可以说是操作系统的灵魂,为了让CPU资源利用最大化,Linux设计了一套非常精细的调度系统,对大多数场景都进行了很多优化,系统扩展性强,我们可以根据业务模型和业务场景的特点,有针对性的去进行性能优化,在保证客户网络带宽前提下,隔离客户互相之间的干扰影响,提高CPU利用率,降低单位运算成本,提高市场竞争力。欢迎大家相互交流学习!
在TCP断开连接四次挥手时, 主动发起关闭方会产生 TIME_WAIT, TIME_WAIT 是 TCP 协议可靠性设计的重要一个环节, 虽说增强了可靠性, 但是对于高并发场景下, 会产生大量的 TIME_WAIT, 导致高峰时段无端口可以使用.
IOR是一个并行的IO基准,可用于测试使用各种接口和访问模式的并行存储系统的性能。接口和访问模式的并行存储系统的性能。IOR资源库还包括mdtest基准,专门测试不同目录结构下存储系统的元数据峰值速率。在不同目录结构下存储系统的元数据峰值速率。这两个基准都使用一个共同的并行 I/O抽象后端,并依靠MPI进行同步。本文档由两部分组成。用户文档包括安装说明(Install),初学者教程(IOR的第一步),以及关于IOR的运行时选项的信息。开发者文档包括用Doxygen生成的代码文档和一些关于与Travis的连续整合的说明。IOR/mdtest用户和开发者文档的许多方面都是不完整的,我们鼓励贡献者 鼓励贡献者直接评论代码或在此基础上扩展文档。
但其实这种形式我们看着是不太习惯的,我们可以指定形式输出: 格式为:date +选项 %H : 小时(00..23) %M : 分钟(00..59) %S : 秒(00..61) %X : 相当于 %H:%M:%S %d : 日 (01..31) %m : 月份 (01..12) %Y : 完整年份 (若是%y,则输出年份的后两位) %F : 相当于 %Y-%m-%d 演示:
大多数现代Linux发行版默认为ext 4文件系统,就像以前的Linux发行版默认为ext3、ext2,以及-如果追溯到足够远的话-ext。 如果您是Linux新手或者是文件系统新手,您可能会想知道ext 4给表带来了什么,而ext3却没有。考虑到诸如btrfs、XFS和ZFS等备用文件系统的新闻报道,您可能还想知道ext4是否还在积极开发中。 我们不能在一篇文章中涵盖所有关于文件系统的内容,但是我们将尝试让您了解Linux的默认文件系统的历史、它所处的位置以及所期待的内容。 我大量地引用了各种ext文件系统文章以及我在编写本概览时的经验。
一般的Linux下的隐藏目录使用命令ls -l是查看不出来的,只能查看到文件及文件夹,查看Linux下的隐藏文件需要用到命令:ls -al
理解什么是Linux的发行版,然后选择适合自己的版本,掌握安装Linux的步骤,建立对Linux的确切认识。
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,默认配置文件为 /etc/syslog.conf 或 rsyslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。
这时求职者紧张的心终于平静了,因为面试官没有深入下去的意思,继续问下去可能也不懂,皆大欢喜!当然本次面试基本上也就 game over了。
1、NTP网络时间协议:它是通过网络在计算机系统之间进行时钟同步的网络协议。换言之,它可以让那些通过 NTP 或者 Chrony 客户端连接到 NTP 服务器的系统保持时间上的一致(它能保持一个精确的时间)。
在本讲座中,我们将研究分布式系统中的时间概念。对时间的假设构成了分布式系统模型的一个关键部分。例如,基于超时的故障检测器需要测量时间以确定何时超时。操作系统依赖计时器和时钟,以便安排任务,跟踪CPU的使用,以及别的一些任务。应用程序经常希望记录事件发生的时间和日期:例如,当调试分布式系统中的错误时,时间戳对调试很有帮助,因为它们允许我们重建同一时间不同节点上发生事件的场景。所有这些都需要对时间进行精确测量。
eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网络和性能分析工具。它允许开发者在内核运行时动态加载、更新和运行用户定义的代码。
本文翻译自 KubeCon+CloudNativeCon Europe 2022 的一篇分享:Better Bandwidth Management with eBPF。
eBPF (扩展的伯克利数据包过滤器) 是一项强大的网络和性能分析工具,被广泛应用在 Linux 内核上。eBPF 使得开发者能够动态地加载、更新和运行用户定义的代码,而无需重启内核或更改内核源代码。
packetdrill 是一个跨平台的脚本工具,可以用来测试整个 TCP/UDP/IP 网络栈实现的正确性和性能,从系统调用一直到硬件网络接口,从 IPv4 到 IPv6。
将 eBPF 程序附加到跟踪点以及内核和用户应用探针点的能力,使得应用程序和系统本身的运行时行为具有前所未有的可见性。通过赋予应用程序和系统两方面的检测能力,可以将两种视图结合起来,从而获得强大而独特的洞察力来排除系统性能问题。
journalctl命令是Systemd日志系统的一个命令,主要用途是用来查看通过Systemd日志系统记录的日志,在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd取代了initd之后便开始统一管理了所有Unit的启动日志,可以只用一个journalctl命令,查看所有内核和应用的日志。
在Linux审核系统可以帮助系统管理员创建一个审计跟踪,日志服务器上的每一个动作。我们可以通过检查审计日志文件来跟踪与安全相关的事件,将事件记录在日志文件中,以及检测滥用或未授权的活动。我们可以选择要监视服务器上的哪些操作以及监视的程度。审计不会为您的系统提供额外的安全性,而是有助于跟踪任何违反系统策略的行为,并使您能够采取其他安全措施来防止这些行为。
本文翻译自 2021 年 Daniel Borkmann 在 FOSDEM 的一篇分享:Advanced eBPF kernel features for the container age[1]。
ping(Packet Internet Groper)命令是因特网包探索器,用于测试网络连通性,是常用的网络命令之一。
遇到CPU性能问题时,我们常常通过perf来了解CPU上到底在执行什么,以及通过On-CPU火焰图来帮助我们寻找性能瓶颈。但是,这种方式并不能让我们知道不在CPU上运行的进程和线程到底在做什么。在一些场景中,我们会发现CPU的使用率上不去,性能表现很差,这时候我们也许就需要考虑,是不是花在应用请求、异步调用这种Off-CPU的场景上的时间太多了。
ping(Packet Internet Groper 命令是因特网包探索器,用于测试网络连通性,是常用的网络命令之一。
如果要修改系统时间的话,需要PHC把通过PTP协议获取到的时间 同步到系统上,执行phc2sys命令:
将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提升 Cilium 的网络性能. 具体调优项包括不限于:
NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。
前言:Linux基本指令学到这里也快接近尾声了,如果对前面内容还有不清楚建议回顾这两篇文章 。
内核环形缓冲区是物理内存的一部分,用于保存内核的日志消息。它具有固定的大小,这意味着一旦缓冲区已满,较旧的日志记录将被覆盖。
linux 中的部分目录解析 /dev/ 设备目录 /etc/ 配置文件以及服务启动的目录 /proc/ 显示内核以及进程信息虚拟文件系统 /tmp 临时文件目录 /var 变化目录一般是日志文件的目录 /home/家目录 /usr 用户程序及数据帮助文件等目录 /bin 和 /sbin /usr/bin /usr/sbin 用户的命令 /etc/profile 系统全局变量的配置层叠 /etc/hosts /etc/fstab 记录开就要挂载的文件 /et
当第一次听到NTP时,完全不知道是什么概念,只好问度娘。度娘搜到的答案如下:
每个包的TCP首都都有4个字节的序列号,用来解决乱序和重复问题(根据序列号对收到的包进行正确的排序,再交给应用层;会丢弃掉序列号相同的数据包)
NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。
不久前发布的 Linux 5.0 内核正式版本提供了对 AMD FreeSync 的初步支持,而今年夏天将推出的 Linux 5.2 内核可能会对此有额外的改进。
在前面文章《LTE模组可以被VPP直接接管喽!!!》中介绍使用af-packet插件将linux 内核接口映射到vpp中,并通过vpp dhcp client插件实现lte拨号上网的功能,本文主要介绍af packet实现机制,对阅读代码有所帮助。
大海是我多年老友,六七年前我们因OpenStack而相识,然后一起北上创业。创业结束后,他加入了某大厂,成为一名运维骨干。他做事负责,为人靠谱;勤于学习,从OpenStack运维,到K8S和云原生应用运维,不断更新自己的技术栈;喜欢写代码,笃信“能用代码做的事情就不人工做”,经常说“嗨,你看看我新写的这个工具...”;还喜欢分享,写过不少技术文章,我们也常夜聊技术。技术一直在变,我们对技术的热情不变,我们的友情也不变。
Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向。
在通用的麒麟服务器内部固定一块北斗卫星接收模块并引出卫星天线接口,卫星模块接收北斗卫星数据并解码输出时间数据(NMEA0183串口数据),并将时间数据输入到系统主板的串口上;麒麟系统串口接收时间数据解码时间信息并同步麒麟系统时间,确保麒麟系统的时间与准确。为了实现麒麟系统的NTP授时服务,需要在系统内运行NTPD授时程序。
在今年上半年的数据库使用状况调查中,笔者收集了众多国内外知名互联网公司的数据库使用情况,其中,国外GitHub、Airbnb、Yelp、Coursera均在使用MySQL数据库,国内阿里巴巴、去哪儿网、腾讯、魅族、京东的部分关键业务同样使用了MySQL数据库。同时,MySQL也是众多数据库排行榜单的第一名,这个开发者和一线互联网企业都在用的开源数据库,你了解多少?这份MySQL自测卷,你会多少呢?
连续数据包记录器是捕获网络流量并将其保存到磁盘的设备。术语 “连续 “意味着这项活动是 “连续 “进行的,直到设备处于活动状态,而不仅仅是几分钟。在ntop,我们已经开发了两个用于数据包记录器的配套应用程序:
vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris)。
一. 衡量指标 用什么来衡量一个系统的负载能力呢?有一个概念叫做每秒请求数(Requests per second),指的是每秒能够成功处理请求的数目。比如说,你可以配置tomcat服务器的maxConnection为无限大,但是受限于服务器系统或者硬件限制,很多请求是不会在一定的时间内得到响应的,这并不作为一个成功的请求,其中成功得到响应的请求数即为每秒请求数,反应出系统的负载能力。 通常的,对于一个系统,增加并发用户数量时每秒请求数量也会增加。然而,我们最终会达到这样一个点,此时并发用户数量开始“压倒
#[ip] #关闭IPV6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 #[arp系列],内容太多,详细看http://www.52wiki.cn/docs/jichu/818 #ARP参数,检查一次相邻层记录的有效性的周期。当相邻层记录失效时,将在给它发送数据前,再解析一次。缺省值是60秒。 net.ipv4.neigh.default.gc_stale_time = 120 #定义了对目标地址为本机I
领取专属 10元无门槛券
手把手带您无忧上云