自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (4)
  • 收藏
  • 关注

原创 容器内部运行sync命令,脏页回收是容器内部还是整个物理机回收

步骤一:启动一个容器[host]#docker run -t -i centos:latest /bin/bash在容器里运行:[docker]#grep Dirty /proc/meminfoDirty: 168 kB步骤二:在主机里创建大量的脏页[host]#dd if=/dev/zero of=testfile bs=1048576 count=4096在容器里运行:[docker]#grep Dirty /proc/meminfo...

2020-11-02 16:04:30 353

原创 C state和P state 一些体会

C stat是电源节能的一个feature, 通过在cpu 负载不忙的时候,通过关闭cpu内部的不同器件的电源,来达到节能的目的。C state节能有两个,一个是package Cstate,一个是Core Cstate. Package对应的是一个物理cpu,Core对应的就是物理cpu内部的物理core。对应级别如下:C0:是一个Active状态,说明正在执行指令。就是有任务正在运行时的状态。注意,这个状态并不意味着cpu是最高频率,只要有任务在运行,cpu即使低频率也是在C0状态。从供电角

2020-10-31 18:47:33 14068 5

原创 如何从社区邮件列表获取完整的补丁(pwclient)

pwclinet 可以用于从社区邮件里获取补丁。并将补丁用户代码里

2020-10-28 21:06:18 1595 1

原创 openshift webconsole不用直接用地址访问

一直以为openshift webconsole可以通过lb的IP地址可以访问,修改了很多配置文件。没有成功。问了社区的开发者才知道webconsole也是个pod,也要通过router,必须用域名访问。初学者不知道的太多了。等研究FQDN就知道了。...

2019-06-11 11:04:06 1775

原创 openshift ansibe 自动部署后,oc cluster status 查看发现是not running

如题,oc cluster up 是all-in-one的部署使用的。ansible自动部署成功后,不需要用oc cluster status查看。总感觉这样有些矛盾。[root@master001 ~]# oc cluster -hManage a local OpenShift clusterThe OpenShift cluster will run as an all-in-on...

2019-06-11 10:22:45 670

原创 openshift集群如何增加一个node

openshift 增加节点:前提是有一个已经运行的openshift的集群。在此集群上添加一个node。如何建立openshift集群,参见https://blog.csdn.net/xiaofeng_yan/article/details/90174543步骤一:新建立一个虚拟机,本文的虚拟机的IP是10.2.3.21,hostname 为node3步骤二:在master...

2019-05-13 15:48:45 1948 9

原创 如何搭建openshift-3.11的集群环境

OS环境是centos 7.6,openshift版本3.111、首先建立如下的虚拟机10.2.3.12 master110.2.3.13 master210.2.3.14 master310.2.3.15 node110.2.3.16 node210.2.3.17 nfs10.2.3.18 lb三个master,两个node,一个nfs(共享存储),一个l...

2019-05-13 15:39:54 2704 13

原创 vsphere下重置系统镜像密码的方法

vshphere没有自动修改客户镜像的接口。本文通过一个方法,来解决这个问题。1 启动一个正常的虚拟机,暂且命名为VM_CHANGE_PASSWD2 将客户的镜像通过vsphere挂载到这个VM_CHANGE_PASSWD虚拟机上3 进入VM_CHANGE_PASSWD虚拟机,扫描热加的盘(将客户的系统盘以数据盘的形式挂载到这个虚拟机上)4 mount这个客户的盘的root分区上,...

2019-03-29 14:07:02 1591

原创 chroot 执行多条命令,echo !(叹号)出错问题

chroot 运行多条命令cat << EOF | chroot your_rootfs /bin/shtouch aaaatouch bbbbtouch cccEOFchroot 自动修改rootfs的密码,解决echo不识别叹号问题cat << EOF | chrootyour_rootfs /bin/shecho '1!23456' | ...

2019-03-12 14:08:46 929

原创 centos6.5 升级内核后kdump功能失效的原因分析

centos6.5的内核升级到最新内核后(自己编译的内核),kdump使能失败。debug的方式:1 首先要启动kdump功能,出现了如下信息/proc/sys/crypto/fips_enabled: No such file or directory。通过查看代码,解决方案:运行如下命令:sysctl -n -e crypto.fips_enable'2 这个成功后又出现...

2019-02-28 16:47:25 2183

原创 wmare下 host端如何更精确的取得虚拟机的状态

VMCI socket是vmare开发的,通过vmare自定义socket使得esxi(host)端与客户操作系统 之间能够在没有网络的情况下进行通信的机制。类似有kvm的qga功能。esxi端通过vmci socket与虚拟机通信,通过这个机制esxi可以执行虚拟机的各个性能相关的命令,更加具体的了解虚拟机的性能。以下是参考vmci socket手册开发的,vmare下如何获取虚拟...

2019-02-25 11:19:19 354

原创 虚拟机迁移出现 a start job is running for dev-disk 的错误

虚拟机迁移出现 a start job is running for dev-disk 的错误。 这个问题很明显,启动挂载系统出现了问题。一直找不到此系统盘。定位过程如下:1 查看迁移的img的启动项和fstab的文件,盘的UUID是否一直,这个是一致的  可以通过命令 guestmount  -a /root/root.img  -m /dev/sda1 --rw /mnt挂...

2018-11-05 17:59:39 2071

原创 Linux 内核调度发展从2.6到4.16(含部分内存和虚拟化)

自己的总结,如有纰漏请批评指正,转发请标明出处[email protected]

2018-11-05 14:43:16 364

原创 新型的initrd的解压方法

最近在解决一个问题,需要解压ubuntu的initrd来查看启动脚本。$ file /boot/initrd.img-4.15.0-32-generic/boot/initrd.img-4.15.0-32-generic: ASCII cpio archive (SVR4 with no CRC)$mkdir rootfs$cd rootfs$cpio -idvm < /...

2018-10-23 10:51:36 7138 5

转载 GCC设置函数属性为constructor和destructor

cc允许为函数设置__attribute__ ((constructor))和__attribute__ ((destructor))两种属性,顾名思义,就是将被修饰的函数作为构造函数或析构函数。程序员可以通过类似下面的方式为函数设置这些属性: 带有(constructor)属性的函数将在main()函数之前被执行,而带有(destructor)属性的函数将在main()退出时执行。下...

2018-09-28 10:34:16 339

转载 RDMA技术

RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何...

2018-09-26 16:27:11 962

原创 dma 一致性总结

2018-08-28 09:53:14 505

原创 内核里控制脏页的参数

内核的脏页的控制分为时空两个大的维度。在时间上脏页不能存在时间过长,过长会导致内存紧张。同时如果时间过长,这时候突然掉电,那么会导致数据损失过多。所以,无论如何都要有个时间的限制。在空间上脏页不能太多,太多也会导致内存紧张。在时间控制上总要的参数有dirty_expire_centisecs,linux后台的flush线程按照dirty_writeback_centisecs周期启动,...

2018-08-16 14:10:52 1201

原创 理解inux 下 intel处理器睿频

误区:睿频就是所有的cpu都能达到最大频率INTEL睿频步骤:intel使用时intel_pstate的技术来管理cpu的变频,通过下面的命令可以查看使能情况(intel-2697 v4)# ls /sys/devices/system/cpu/intel_pstate/max_perf_pct min_perf_pct no_turbo num_pstates tu...

2018-08-14 13:35:01 9795 3

原创 VMWARE的调度策略

1 vmware的调度相对与linux增加了两个状态,co-start(协同开始)和co-stop(协同停止)  当一个拥有多个vcpus的smp的虚拟机在进行调度时,会使用co-scheduling(协同调度)。就是当满足vcpus个物理cpu资源时。这个虚拟机的vcpus一起运行(co-start)。也会一起停止(co-stop)。这样的好处避免多个一个虚拟机的vcpu为了等待彼此资源而白白的...

2018-06-01 18:13:17 3336

原创 如何关闭steal time,使得在虚拟机里st不反应宿主机限制

如果在云中心,不想让客户看见st的反映值,可以用如下办法在qemu-kvm 加入 -cpu <modle > -kvm_steal_time参数后,st在虚拟机里显示为0.例如:sudo qemu-system-x86_64 -enable-kvm -hda ubuntu.img  -m 6000 -smp 4 -cpu core2duo,-kvm_steal_timexml配置&lt...

2018-05-23 10:42:00 1477

原创 cgroup 限制虚拟机带宽后,虚拟机里top统计问题分析

今天遇到了一个问题。用cgroup限制虚拟机(qemu-kvm)的CPU占比为宿主机的50%时。发现虚拟里centos7系统,用top显示一个死循环的进程,这个进程的占比时50%。而我所认知时虚拟机对限制应该不感知。应该显示100%才对。我又用qemu-kvm启动了一个ubuntu的系统,发现ubuntu里用top看一个死循环,这个进程显示的是100%。问题排查:1 一开始我以为时top的工具统计...

2018-05-21 16:39:31 777

转载 gcc的__attribute__编译属性

gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。 __attribute__的section子项使用方式为:__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"的段。看以下程序片段: #include #includ

2018-01-05 13:45:03 503

转载 自定义ELF,使得自动做初始化

This is an example to custome youre ELF sections for initialization.//main.c#include #include "init.h"static void callinit(void){    init_fn_t *fn;    for (fn = &__start_init_sec;

2017-11-22 17:04:28 518

转载 Freezing of tasks [Kernel Documents]

Freezingof tasks(C)2007 Rafael J. Wysocki , GPL翻译: Arethe Qin         I.                   什么是任务冷冻?任务冷冻是一种在系统休眠或者系统挂起期间控制用户空间进程和一些内核线程的机制。II.                 它是如何工作的?每个任务都有4个标志用于任务冷冻机制,P

2017-11-22 14:14:47 350

原创 一个简单的爬虫

import urllib.requestimport reimport osimport timeimport sched# 写入错误日志方法def write_error_log(error_str):    try:        fh=open(data_path + "/error_log.txt", "a")        fh.write(ti

2017-11-22 10:46:46 235

转载 Linux 基数(radix)树

基数(radix)树Linux基数树(radix tree)是将指针与long整数键值相关联的机制,它存储有效率,并且可快速查询,用于指针与整数值的映射(如:IDR机制)、内存管理等。IDR(ID Radix)机制是将对象的身份鉴别号整数值ID与对象指针建立关联表,完成从ID与指针之间的相互转换。IDR机制使用radix树状结构作为由id进行索引获取指针的稀疏数组,通过使用

2017-11-22 10:41:42 6678

转载 向linux内核版本号添加字符/为何有时会自动添加“+”号

编译2.6.35.7 kernel版本的时候发现,“2.6.35.7“的内核版本编译成功后生成的版本号变成了“2.6.35.7+”,为什么后面会多一个加号呢?问题出现在linux的版本控制这一块:打开Makefile我们可以在文件的最上面可以发现VERSION = 2PATCHLEVEL = 6SUBLEVEL = 35EXTRAVERSION = .7NAME = Yok

2015-09-11 18:42:13 785

原创 SCHED_DEALINE调度类分析(二)

EDF时间管理 EDF的时间更新可以理解为edf runtime的一个消耗,或者叫做更新它的执行时间。它的更新时间有两个地方: 1. 每个时钟中断到来的时候,比如HZ=1000的话,即每1ms更新一次。 调用的关系如下: Tick_periodic(int cpu) –>update_process_timers();

2015-09-06 16:53:37 1343

原创 SCHED_DEALINE调度类分析(一)

以下是本人分析的内核新的调度类SCHED_DEADLINE调度类,这个调度类没有进主线之前叫EDF(Earliest DeadlineFirst)。在3.14的内核时进入了主线。本文是基于没有进主线之前的分析。思想基本一致。 EDF介绍 EDF(Earliest DeadlineFirst)它是一种最早到期优先的调度算法。当前Linux内核中使用的调度的算法是主要是cfs和fifo调度类,但是这

2015-09-06 16:39:45 4976

原创 4.2 内核工作队列原理汇总

本文阐述了4.2内核里的队列原理,并与之前的工作队列的原理做了比较

2015-09-06 16:01:49 1514

转载 转载一个感悟

1、98年马化腾等一伙凑了50万创办了腾讯没买房;98年 史玉柱 借了50万搞脑白金没买房;99年 丁磊用50万创办163.com 没买房;99年 陈天桥炒股赚了50万创办盛大 没买房;99年马云等18人凑了50万注册阿里巴巴 没买房。如果当年他们用这50万买了房,现在估计还在还着银行的贷款吧。2、年轻的我们必须懂得:1、你不勇敢,没人替你坚强。2、没有伞的

2015-06-23 09:06:27 1915

转载 Linux RCU机制详解 (透彻)

一:前言 RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从linux kernel源代码的角度.来分析RCU的实现.在讨论RCU的实现之前.有必要重申以下几点: 1:RCU使用在读者多而写者少的情况.RCU和读写锁相似.但RCU的读者占锁没有任何

2015-02-27 14:05:32 18256 1

转载 head.s

在进入保护模式后,head.s程序重新建立和设置IDT,GDT表的主要原因是为了让程序在结构上比较清晰,也是为了与后面的linux 0.11内核源代码中这两个表的设置方式保持一致,当然。就本程序来说我们完全可以直接使用boot.s中设置的IDT和GDT表位置,填入适当的描述符即可。##LATCH = 11930#定时器初始计数值SCRN_SEL = 0x18#屏幕显示内存段

2014-02-14 07:17:14 826

转载 bochs安装一系列问题 [转]

http://www.cnblogs.com/viviwind/archive/2012/12/21/2827581.html操作系统:ubuntu 12.04 http://gbk.chinaunix.net/uid-23817499-id-3418083.htmlapt-get install bochs错误一:00000000000p[     ] >>PAN

2014-01-14 07:17:10 1746

原创 python:event

event主要用在线程的通讯中,一个线程没有得到想要的资源,用event.wait()阻塞。当另一个线程给了相应的资源就用event通知所有的线程(用同一个event)其他的线程在得到之后就可以运行了。#event.pyimport threading class mythread(threading.Thread):    def __init__(self,thread

2012-05-25 16:16:16 1851

原创 poky: 并行执行的错误

https://bugzilla.yoctoproject.org/show_bug.cgi?id=2298

2012-05-21 10:48:11 640

原创 Makefile: 并行执行的例子

#example to parallel running#Makefilea:    @$(SHELL) -c 'for((i=1;ib:    @$(SHELL) -c 'for((i=1;iPC$ make a bI am aI am aI am aI am aI am aI am aI am aI am aI am a

2012-05-21 10:46:19 6527

转载 ARM VFP的一点体会

ARM VFP的一点体会关键字: VFP arm1136JF-S MCIMX31 gcc linux参考文献:>、>、<<VFP11 Vector Floating-point Coprocessor for ARM1136JF-S processor r1p3 Technical Reference Manual>>前言:MCIMX31 是一款基于ARM1136JF-S的多媒

2012-05-17 17:15:37 1805

转载 图片的文字变成wrod的方法

把书上的字快速弄到电脑上,我也会,哇哇。。。 在工作中,我常常在想,要是能把纸上有用的文字快速输入到电脑中,不用打字录入便可以大大提高工作效率该有多好呀!随着科技的发展, 这个问题在不断的解决,例如,现在市场上的扫描仪就带有OCR软件,可以把扫描的文字转换到电脑中进行编辑。但是,对于我们平常人来说,大多数人都是即不想多花钱购买不常用的设备,又不想费力气打字录入,那我就给大家提供一个我刚

2012-05-15 15:48:38 1989

中文Makefile 详解

这个文档详细描述了Makefile的全过程。很好的资料

2010-05-07

Bash 脚本高级编程

本指南不期望读者有任何的脚本和编程的背景知识,但能引导你迅速提高到中高级水平的教程 . . . 所有这些只是 UNIX®浩瀚知识的一小部分. 本指南可做为shell脚本技术的教科书,自学指导书或是技术参考书。教程中的练习和很好的注释能激起读者积极参与,但前提是要认识到:只有真正动手去写脚本才是唯一真正学会脚本编程技术的方法. 本书非常适用于教学编程概念的常规指导。

2010-03-24

C语言深度解剖,对于嵌入式开发非常有用

C语言深度解剖,描述了很多不为人知的C方面的知识。

2010-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除