- 博客(75)
- 收藏
- 关注
转载 分离式内存(Disaggregated memory)简介
分离式内存系统旨在提供一种动态调整节点内存资源的机制。其期望在中小集群上(100 块CPU以内)提供一种延迟介于访问NUMA远端内存和访问最新NVMe SSD的之间的内存访问手段。
2023-07-21 16:11:08
2789
原创 docker.socket: Failed with result ‘service-start-limit-hit‘
在Ubuntu 16.04中启动docker和dockerd总是报错,报的错误一直都是service-start-limit-hit。在网上尝试重装docker、dockerd、docker-ce等都不行。解决办法:关闭防火墙。参考链接 ↩︎
2022-06-07 09:39:55
7892
1
原创 github访问出现OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054错误
github访问出现OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054错误1 问题2 解决方案1 问题使用VS Code上传github出现如下错误:2 解决方案打开Git Bash,然后输入命令 git config --global http.sslVerify "false",然后再次在VS Code重新尝试提交或者克隆。...
2022-05-06 15:34:40
1852
原创 Linux wget遇到“Cannot write to xxx (Success)”错误
这里Linux wget遇到“Cannot write to xxx”错误1 问题2 解决方案1 问题使用wget下载文件时遇到了“Cannot write to”的错误,具体截图如下:可以看到报了错之后,下载的文件大小为0字节,此时解压该文件也会报错。2 解决方案报错原因可能是系统磁盘空间不够,可以使用sudo df -h来查看系统可用磁盘空间大小,如下:可以看到系统可用空间为0,所以需要删除一些无用文件来删除可用空间,之后再使用wget下载文件即可。...
2022-04-13 15:34:01
11290
原创 Linux内核中获取纳秒时间戳的方法
Linux内核中获取纳秒时间戳的方法1 方法1:使用getnstimeofday64方法2 方法2:使用ktime_get_real_ns方法1 方法1:使用getnstimeofday64方法此处以获取内核中mm/page_alloc.c的__alloc_pages_direct_reclaim函数中的__perform_reclaim函数的执行之间为例(内核版本4.14.216),代码如下:/* The really slow allocator path where we enter direc
2022-03-22 15:05:12
4691
原创 Mellanox 5 RDMA网卡驱动安装
RDMA网卡驱动安装1. RDMA驱动安装2. RDMA网卡实验与带宽测试1. RDMA驱动安装# 1. get OFED# https://cn.mellanox.com/products/infiniband-drivers/linux/mlnx_ofedtar -xvf xxx.tar.gzcd MLNX_OFED_LINUX-xxxx-x86_64sudo ./mlnxofedinstall --add-kernel-support# after successfulsu
2022-03-17 19:44:21
1820
原创 Linux内核中获取虚拟机KVM结构体信息以及vCPU个数
Linux内核中获取虚拟机KVM信息以及vCPU个数1 问题2 解决方案2.1 过程实现2.2 代码实现2.3 原理分析1 问题目的: 想要在内核中获取一个虚拟机进程配置的vCPU个数。已知的信息: 虚拟机进程的进程结构体(即task_struct结构体)。2 解决方案2.1 过程实现首先在进程的task_struct结构体中找到struct files_struct,里面记录了所有打开的文件。遍历files_struct中所有文件,找到一个路径为“anon_inode:kvm-vm”的st
2022-01-14 17:14:10
1174
原创 Ubuntu 20.04 安装Mellanox RDMA网卡驱动与带宽/时延测试
Mellanox RDMA网卡驱动安装1 RDMA驱动安装2 时延与带宽测试1 RDMA驱动安装# 1. get OFED# https://cn.mellanox.com/products/infiniband-drivers/linux/mlnx_ofedtar -xvf xxx.tar.gzcd MLNX_OFED_LINUX-xxxx-x86_64sudo ./mlnxofedinstall --add-kernel-support# after successfulsudo
2021-12-01 20:20:49
5016
原创 Visio按照PDF/A标准导出pdf文件后内容有误问题
Visio按照PDF/A标准导出pdf文件后内容有误问题1 问题描述2 解决方案1 问题描述本人用Visio 2013画了下图1,之后准备另存为pdf文件,在另存为pdf文件的时候进行了如图2的操作。图1 原始内容截图图2 另存为pdf文件时的设置但是最终的pdf内容却出现了变化,如图3所示。图3 另存为pdf文件的文件内容2 解决方案解决方案如图4所示。图4 解决方案步骤图最终效果如下:
NPB Benchmark安装教程(version:3.3.1,Ubuntu14.04)download NPB3.3.1,wget https://www.nas.nasa.gov/assets/npb/NPB3.3.1.tar.gz安装g++:sudo apt install g++安装fortran,sudo apt install fort77安装openmpi相关库,sudo ...
2021-09-14 21:00:45
837
原创 Excel使用空格/逗号等对数据进行分列
Excel使用空格/逗号等对数据进行分列1 需求描述2 解决方案1 需求描述对于特定数据规律的文本文件,比如使用空格或者逗号为间隔的文本文件,如下图,可以使用Excel对它们轻松分列,使数据更为清晰易读。2 解决方案...
2021-09-14 20:58:41
4981
原创 Linux shell常用命令总结
Linux shell常用指令0 前言1 文本内容替换2 行列选择3 脚本参数处理4 加减乘除50 前言本人由于常在Linux中跑各种实验测试,为了减少精力,通常是先写好自动跑实验的脚本以及结果处理的脚本,最后直接用excel打开实验结果。为了方便读者以及自己以后写脚本,特总结了写shell脚本常用的指令。如有不当之处或者好的建议,欢迎各位读者在评论中指出,本人在此提前道声谢谢!1 文本内容替换替换特定行的内容。 将hello.txt文件的第${line}行中的内容替换为sudo bash -c
2021-09-14 20:28:55
896
原创 Shell 合并多个文件的列到一个文件中
Shell 合并多个文件的列1 需求描述2 解决方案3 综合示例1 需求描述需要将多个文件按列进行合并,这样就可以很方便用excel打开进行对比。2 解决方案这里所使用的指令主要是paste [-s][-d <间隔字符>]。具体示例如下:合并多个文件的列,其中一个文件包含多列。 paste file1 file23 综合示例(部分)原始文件内容如下:要做的事情就是将文件中所有编号CORE编号为1,2,3,4的第3,4,5,6列合并到一个文件中。#!/bin/bashi
2021-09-05 20:13:08
6417
原创 Ubuntu20.04 sudo免密码
Ubuntu20.04 sudo免密码解决方案解决方案第1步: 为/etc/sudoers增加写权限sudo chmod +w /etc/sudoers第2步:设置某一用户组下面的所有用户sudo指令都免密码,有sudo权限的用户通常属于sudo组,可以使用groups指令来查看,此处需要在/etc/sudoers添加下图红框中的任意一行:注:本人指令groups指令时得到的结果为yll sudo,即用户yll所在的用户组为sudo,但是在/etc/hosts中添加%yll ALL=(ALL:
2021-08-05 17:34:25
9209
原创 TLB与Cache访问谁先访问?
TLB与Cache访问谁先访问?1 Cache与TLB简介2 Cache与TLB谁先访问?1 Cache与TLB简介Cache与TLB本质上都是利用数据访问的局部性原理,就是把最常用的数据放在最快可以访问的地方。具体而言,Cache是用于缓存CPU常用的数据和指令的,分别称为dcache(data cache)和icache(instruction cache)。Cache通常有多级,比如L1 Cache、L2 Cache和L3 Cache,只有L1 Cache中是将指令和数据分开存放的,L2/L3 C
2021-07-22 12:39:10
4708
2
原创 VS Code的Error: Running the contributed command: ‘_workbench.downloadResource‘ failed解决
VS Code的Error: Running the contributed command: '_workbench.downloadResource' failed解决1 问题描述2 解决方案1 问题描述此前,本人参考网上教程在VS Code中配置了“Remote SSH”插件(比如这个教程),本人是在Windows中使用VS Code来连接远程的Linux服务器。但是今天使用遇到了问题Error: Running the contributed command: '_workbench.downl
2021-07-09 19:17:14
32483
121
原创 Latex: Package natbib Warning: Citation xxx undefined解决
Latex: Package natbib Warning: Citation xxx undefined解决1 问题描述2 解决方案1 问题描述前两天从这里下载并安装了Texlive 2021,但是发现在Overleaf上没有任何问题的Latex文件在本地用Texlive 2021编译会出现Package natbib Warning: Citation xxx on page xx undefined on input line xxxx.的问题,同时论文中所有的引用都是?,具体报错如下图:我的
2021-07-08 21:07:12
22784
4
原创 shell/bash将time命令的结果输出到文件中
shell/bash将time命令的结果输出到文件中1. 目标解决方案1. 目标在Linux中,使用time命令可以统计一个脚本的执行时间,比如time pwd就会打印出执行pwd脚本花费的时间(见下图)。但是,当我们想将time + 目标脚本的具体执行结果输出到文件中时,使用[shell] > output.file确无法达成目标(如下图,可以看到out1.txt和out2.txt中并没有real/user/sys的值,但是显示在屏幕上了)。解决方案具体方案如下:# 1. 使用()将sh
2021-07-06 15:57:13
4749
转载 数据基础设施白皮书2019
文章目录1 前言2 新技术推动数据爆发增长2.1 4K/8K带来数据存储的需求量激增,以及极致稳定的读写高带宽的需求2.2 5G/IoT/车联网带来数据量激增,同时也让数据采集和云边协同能力发生质的变化2.3 自动驾驶将产生海量数据,成为新的数据制造机2.4 AI/大数据将改变数据的存储周期和形态3 数据应用的现状总结3.1 存不下——数字化浪潮下的海量数据存储挑战3.2 流不动——由来已久的数据孤岛难题3.3 用不好——数据供应不足造成应用复杂低效注:本博客内容节选自中国信息通信研究院与华为技术有限公
2021-06-08 15:07:42
663
转载 云计算及其支撑技术简介
云计算及其支撑技术简介1 云计算概述1.1 云计算定义与关键特征1.2 云服务的类别1.3 典型的云服务部署方式2 云计算支撑技术2.1 系统虚拟化2.2 虚拟化资源管理器2.3 分布式数据存储2.4 并行计算模式2.5 用户交互技术2.6 安全管理2.7 运营支撑管理说明:本文摘自中国电子技术标准化研究院于2014年7月发布的《云计算标准化白皮书》,感觉写的挺好,特此转载。 白皮书链接:这里1 云计算概述1.1 云计算定义与关键特征云计算定义: 云计算是一种将可伸缩、弹性、共享的物理和虚拟资源池以
2021-06-07 16:15:33
6563
原创 国内拉起gcr.io的镜像以解决“Error response from daemon: Get https://gcr.io/v2/”问题
国内拉起gcr.io的镜像以解决“Error response from daemon: Get https://gcr.io/v2/”问题1 问题2 解决方案1 问题在Kubernetes集群中用Helm安装spark operator是遇到了ImagePullErr的错误,使用kubectl describe pods xxx发现是因为无法拉取gcr.io/spark-operator的镜像。2 解决方案解决方案参考链接。按照文章中的操作,最后得到了下图的结果:之后按照图中的操作到自己的本地
2020-09-06 23:52:31
10818
原创 解决virsh net-start default出现KVM failed to add iptables rule to enable masquerading问题
解决virsh net-start default出现KVM failed to add iptables rule to enable masquerading问题1 问题2 解决方案1 问题编译内核后,使用virt-manager来启动虚拟机,出现下图问题:2 解决方案因为我们是自己编译的内核,而之前同样是使用自己编译的内核,却没有出现此问题。经过一番搜索,看到了一个答案,说是编译内核中的有些配置没有设置。经过对比与验证,通过修改编译的内核源码根目录的.config目录,即可解决此问题,修改的
2020-09-06 17:23:07
862
原创 kubernetes解决Kubelet stopped posting node status问题
kubernetes解决Kubelet stopped posting node status问题问题描述解决方案问题描述今天使用kubectl get nodes发现k8s集群node1(也就是我们集群的master,操作系统为ubuntu16.04)处于NotReady状态,然后还发现使用kubectl get pods -n kube-system发现有2个coredns一直处于Complete状态,但是集群还能正常运行。下面来具体分析和解决此问题。首先查看node1的详细信息,使用kubec
2020-08-12 23:03:29
48554
原创 Kubernetes Flannel 主机ping不通Pod
Kubernetes Flannel 主机ping不通Pod1 问题2 解决方案1 问题Kubernetes搭建完成也使用了一段时间后,由于种种原因有些机器意外下线,然后又经过不同的人操作后。今天我突然发现宿主机ping不通。执行的测试例子如下:#1.检查节点状态kubectl get nodes #正常情况下所有节点都处于Ready状态#2.创建测试文件 nginx-ds.yml,其内容如下:apiVersion: v1kind: Servicemetadata: name: ngin
2020-08-09 21:58:11
3787
原创 Kubernetes之network: failed to set bridge addr: “cni0“ already has an IP address different from xxx问题
Kubernetes之network: failed to set bridge addr: "cni0" already has an IP address different from xxx问题1 问题2 解决方案1 问题在使用Kubernetes部署应用时发现有Pod一直不能创建成功,使用kubectl describe pods <pod-name> -n <namespace>得到的结果如下图:从上面的截图中看到问题出现在给Pod分配IP上,意思是cni0的IP不
2020-08-09 20:12:14
9702
原创 Kubernetes Pod不断自动重启--Exit Code = 0
文章目录1 问题2 解决方案1 问题最近在搞kubernetes,我制作了一个容器,然后使用k8s以Depolyment的方式进行部署,但是可以看到容器的状态在Rnning->Complete->CrashLoopBackOff这三个状态间转换,为查看原因我使用了如下指令:#获取pod信息kubectl get pods -o wide -n <namespace-name>#查看pod logkubectl logs <pod-name>#查看pod详细信
2020-07-28 11:18:38
7722
原创 docker: Error response from daemon: Conflict. The container name xxx is already in use by container
docker: Error response from daemon: Conflict. The container name xxx is already in use by container 1 问题由来2 解决方案1 问题由来本问题主要是在部署Cloudsuite Data Analytics遇到的。需要说明的是我之前采用完全相同的指令部署过Cloudsuite Data Analytics应用一次。,第一次部署没有任何问题,但这一次(第二次)出现了问题,问题如下:从图中可以看到在执行do
2020-07-20 16:02:07
7328
1
原创 JAVA1.7+Hadoop 2.7.3+Spark 2.1.0一主多从集群搭建
文章目录0 集群信息及基本初始化0.1 集群初始化0.2 集群信息1 Hadoop 2.7.3环境搭建1.1 下载JDK1.7、Hadoop2.7.3、Spark2.1.0包1.2 解压JDK安装包1.3 配置java环境(hadoop Master和Slave上都要做这一步操作)1.4 检查Java环境是否配置成功1.5 搭建hadoop 2.7.3环境(Hadoop Master中进行)1.6 将Hadoop Master配置的hadoop文件夹全部复制到Slave中1.7 配置Master和Slvae
2020-06-24 15:25:15
416
原创 Ubuntu16+Kubeadm方式搭建Kubernetes 1.18.3+kube-prometheus
文章目录1 Kubernetes集群机器信息1.1 机器信息1.2 软件信息2 Kubernetes安装过程2.1 集群初始化设置2.1 Kubernetes安装教程2.1.1 准备阶段2.1.2 安装Master节点2.1.3 加入Slave节点2.1.4 移除Slave节点2.1.5 移除Master节点2.1.6 验证集群功能2.1.6 其它搭建Kubernetes集群方式3 部署kube-prometheus3.1 部署kube-prometheus3.2 更改Prometheus访问模式3.3 P
2020-06-22 20:37:37
1502
原创 Ubuntu16.04增加Swap分区大小
文章目录快速创建Swap分区方式快速创建Swap分区方式步骤如下:使用fallocate命令创建一个64GB的swap文件。sudo fallocate -l 64G /swapfile更改上一步创建的文件的权限。sudo chmod 600 /swapfile将swapfile初始化为交换文件。sudo mkswap /swapfile启用交换文件。sudo swapon ...
2019-12-22 15:11:23
943
原创 Ubuntu16.04 图形界面与字符界面切换
Ubuntu16.04 图形界面与字符界面切换1 需求2 解决方案2.1 图形界面改命令行界面2.2 命令行界面恢复成图形界面1 需求服务器上的虚拟机中安装的是Ubuntu16.04图形界面,想切换成字符界面。但是使用CTRL+ALT+F7失败,于是就想着直接修改GRUB文件。网上教程一大堆,但是试了好多个都不行,还把虚拟机搞的进不去了。2 解决方案2.1 图形界面改命令行界面sudo...
2019-06-14 15:45:34
3789
原创 fopen以write方式打开文件失败
问题描述有一个函数,负责文件合并,循环调用这个函数2300次左右,每一次都会生成一个新的文件,在第1014次的时候,总是出现fopen(filename ,“w”)总是返回NULL,而且报Segmentation fault(core dumped)的错误。这一段代码是别人写的,在其他机器上跑起来没有问题,不会有任何错误。但是在这台机器上却总是报这个错误。解决过程我们分析了一下,猜想会...
2019-05-08 15:44:31
1303
原创 Kafka/Kafka Stream源码阅读环境搭建
Kafka Stream源码阅读环境搭建安装JDK下载并安装Gradle下载并安装Scala下载Kafka并构建源码环境**源码环境说明:OS:Ubuntu16.04.6,IDE:Intellij IDEA,JDK8,Scala 2.11.8,**安装JDK添加仓库源sudo add-apt-repository ppa:webupd8team/java更新软件包列表sudo a...
2019-04-11 09:34:39
1058
原创 Linux中计算特定CPU使用率
Linux中计算特定CPU使用率需求解决方案拓展参考需求在Linux中可以通过top指令查看某一进程占用的CPU情况,也可以查看某一个CPU使用率情况(先top指令,然后按数字“1”键即可显示每一个CPU的使用情况),如下图:而我们的需求是:如何得到一个CPU的占用率呢?解决方案1. 背景知识在/proc/stat中可以查看每一个CPU的使用情况的,如下图:其中cpu(0/1/2...
2018-12-23 20:03:51
15943
2
原创 Linux中/prc/pid/status中部分信息源码
/proc/pid/status中关于内存信息源码//源码路径: /fs/proc/task_mmu.cvoid task_mem(struct seq_file *m, struct mm_struct *mm){ unsigned long data, text, lib, swap; unsigned long hiwater_vm, total_vm, hiwater_rss, ...
2018-12-20 15:39:12
598
转载 Linux中/proc/pid/status信息含义
原文:https://blog.csdn.net/bugouyonggan/article/details/24349883其实在认真阅读了这篇名为“计算内存使用”的文章之后,还是处于半迷糊状态。这位作者就说Linux下面没有特别好的显示内存占用的工具,虽然有top和free,但都说得不清楚,就跟巫毒教的魔术似的。比如top这个工具,它会显示3种数据,作者分别解释如下:VIRT:virt...
2018-12-20 15:25:49
19049
2
原创 Linux内核中获取系统负载源代码
Linux内核中获取系统负载内核中获取系统负载源代码内核中获取系统负载源代码//源码路径/fs/proc/loadavg.c#define LOAD_INT(x) ((x) >> FSHIFT)#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)static int loadavg_proc_show(st...
2018-12-20 14:53:59
335
原创 解决问题:error while loading shared libraries:libgfortran.so.3:cannot open shared object file
问题如下:解决方案如下:sudo apt-get install libgfortran3
2018-12-13 19:04:41
12106
原创 关于ubuntu14中libgomp.so.1:version 'GOMP_4.0' not fount问题的解决方案
首先看问题:如果你是在安装/运行PyTorch时遇到的这个问题,如果不是的话,可以尝试用一下我的这个解决方案。首先,看一下系统中 gcc的版本,本人电脑中gcc版本为4.8.1,操作系统为ubuntu14.0。那么出现这个问题的原因可能是你的OS中真的不存在GOMP_4.0,此时可以尝试升级一下gcc。在我的电脑中,使用如下指令就可以解决上述问题:sudo add-apt-rep...
2018-12-13 18:56:42
2178
原创 linux系统调用sched_setaffinity内核实现分析
在讲解具体实现之前,我们先来看一个场景:启动一个进程,并且在启动的时候就绑定该进程运行的CPU,如下图(我们是在KVM中启动一个虚拟机,该虚拟机启动时就进行了CPU绑定):可以看到虚拟机进程vCPU确实被绑定在了0-11,24-35号CPU上,下面我们使用taskset修改该进程绑定的CPU上,比如修改为12-23,结果如下:可以看到上面设置失败,于是我们编程再次尝试一下,程序...
2018-12-10 17:13:02
5089
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人