运行命令

宜信容器云排错工具集

陌路散爱 提交于 2019-12-06 12:24:38
宜信容器云是一套基于kubernetes的容器管理平台。业务线用户在容器云上部署应用程序时,常常会遇到容器无法启动或者应用程序运行不正常的情况。为了方便用户排查在应用上云过程中的问题,我们在web端集成了一系列的排错方式,如下图: 一、终端信息 终端信息查看的是容器实例运行时的标准输出日志。 效果等同于: kubectl logs PODNAME [-c CONTAINER] 基本原理如下图: 应用部署时,所属节点的kubelet通过grpc调用容器运行时接口(container runtime interface),来请求docker守护进程创建容器运行时。 此时,docker守护进程会创建一个协程来接收容器运行时的标准输出日志,这个协程最终将STDOUT(标准输出)的日志写到容器运行时所在节点的对应目录下: /var/lib/docker/containers/container_id/{container_id-json.log} 如下图: 在web端查看对应实例的终端信息时,kubelet将接收的Api-server请求转化成docker client来请求docker守护进程。Docker守护进程到相应的目录下读取对应容器的日志文件数据,再由kubelet返回日志数据到Api-server,最终显示到web端,供用户查看。 容器日志的生命周期与容器的生命周期一致

top命令详解

戏子无情 提交于 2019-12-06 11:49:09
原文地址: https://www.jianshu.com/p/3f19d4fc4538 Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。 (译注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。) 1. Top 命令输出: 首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出: image 前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。 1.1 系统运行时间和平均负载: image top命令的顶部显示与uptime命令相似的输出。 这些字段显示: 当前时间 系统已运行的时间 当前登录用户的数量 相应最近5、10和15分钟内的平均负载。 可以使用’l’命令切换uptime的显示。 1.2 任务: image 第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用’t’切换显示。 1.3 CPU 状态: image 下一行显示的是CPU状态

Windows许可证 即将过期

左心房为你撑大大i 提交于 2019-12-06 07:57:55
最近打开电脑,系统总是自动弹出Windows许可证即将过期的弹窗,现在总结方法如下。 命令都是在运行窗口输入的 打开方式:win+R组合键或者右键点击win10开始菜单,点击“运行” 查看系统版本:winver 查看激活有效时间:slmgr.vbs -xpr 方法一: 第一步:右击桌面左下角的“开始”按钮,从其右键菜单中选择“命令提示符(管理员)”项进入。 第二步:依次输入如下命令 slmgr /ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T slmgr /skms kms.xspace.in slmgr /ato 第三步:如果上述命令顺利完成,即为激活成功,不用再看以下的操作步骤。 特殊情况: 第一行命令输入运行结果如下图1.1所示,如果你运行后结果跟这个类似,说明方法一已失效,可直接看方法二。 这里同时展出第二行和第三行命令分别对应的图1.2和图1.3的运行结果。 图1.1 slmgr /ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T运行结果 图1.2 slmgr /skms kms.xspace.in运行结果 图1.3 slmgr /ato运行结果 方法二:使用激活工具 第一步:关闭Windows defender,杀毒软件,一键关闭软件如下 链接:https://pan.baidu.com/s

docker常用命令

风格不统一 提交于 2019-12-06 07:37:24
一、帮助命令 version 查看Docker版本信息 docker version info 查看Docker系统信息,包括镜像和容器数 docker info --help 查看命令的帮助信息,和Linux的命令的帮助信息一样。 docker --help 二、镜像命令 images 列出本地镜像 docker iamges docker后面还可以跟选项参数 -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层); --digests :显示镜像的摘要信息; --no-trunc :显示完整的镜像信息; -q :只显示镜像ID。 # 输出选项说明 REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 # 输出结果 REPOSITORY TAG IMAGE ID CREATED SIZE redis latest dcf9ec9265e0 8 days ago 98.2MB mysql 5.7 1e4405fe1ea9 8 days ago 437MB centos 7 5e35e350aded 2 weeks ago 203MB hello-world latest fce289e99eb9 11 months ago 1.84kB delron/elasticsearch

菜鸟系列docker——docker容器(7)

我怕爱的太早我们不能终老 提交于 2019-12-06 06:50:05
docker 容器 1. docker 守护进程daemon Daemon是Docker的守护进程,Docker Client通过命令行与Docker Damon通信,完成Docker相关操作,Docker daemon通过位于/var/run/docker.sock的本地IPC/Unix socket来实现Docker远程API;在Windows中,Docker daemon通过监听名为npipe:////./pipe/docker_engine的管道来实现。通过配置,也可以借助网络来实现Docker Client和daemon之间的通信。Docker默认非TLS网络端口为2375,TLS默认端口为2376。 UNIX域套接字 默认就是这种方式, 会生成一个 /var/run/docker.sock 文件, UNIX 域套接字用于本地进程之间的通讯, 这种方式相比于网络套接字效率更高, 但局限性就是只能被本地的客户端访问。 TCP 端口监听 服务端开启端口监听:dockerd -H IP:PORT 客户端通过指定的 IP 和 端口 访问服务端:docker -H IP:PORT,从而在服务端的服务器上创建容器。 2. docker container相关操作 2.1 相关命令 在实际操作过程中部分命令container可以省略。 Usage: docker container

windows下redis作为系统服务如何重启

限于喜欢 提交于 2019-12-06 06:35:07
第一种方法: 键入win+R打开运行对话框,键入Services.msc打开windows服务窗口,找到redis服务,先停止该服务,然后再启动 第二种方法: 键入win+R打开运行对话框,键入cmd打开cmd窗口,然后输入命令: net stop redis # 停止服务 然后键入命令: net start redis # 开启服务 来源: https://www.cnblogs.com/yoyo1216/p/11965715.html

从零开始搭建服务器之更加优雅地部署项目

♀尐吖头ヾ 提交于 2019-12-06 06:30:31
如果你需要 经常性 需要多处部署同样的项目,如果你曾经也遇到过" 明明在我电脑运行得好好的 "问题,如果听说过 Docker 但还没用过,如果你不确定你到底需不需要 Docker ,那么, 希望你花时间阅读一下这篇文章 ! 因为 Docker 将帮助你轻松运行自己不熟悉语言编写的开源项目,帮助你更加优雅地部署自己的项目,省去重复下载并配置环境的繁琐过程... 现在让我们先睹为快,预览一下基于 Docker 部署项目的实际效果,希望能让你对 Docker 有个初步的印象! Docker 部署的 nginx 作为 反向代理 服务器,支持 https 访问以及 泛域名 解析. 体验地址: https://snowdreams1006.cn/ Docker 部署的 letsencrypt 免费制作泛域名证书 并整合反向代理服务 nginx 实现 https 访问. 体验地址: https://www.snowdreams1006.cn/ Docker 部署的 nginx 作为静态服务器,部署 静态网站 用于演示静态博客功能. 体验地址: https://resume.snowdreams1006.cn/ Docker 部署的 bark 作为后端服务器,部署开源项目用于充当 消息推送 服务器. 体验地址: https://bark.snowdreams1006.cn/ping Docker

日常 - 从 OutOfMemoryError 引发的思考

一世执手 提交于 2019-12-06 05:12:10
观看视频学习如何引发 OOM 和排查问题的过程, 视频 。 通过这个视频的学习了解了不少 JVM 的知识以及 debug 的方法,记录如下。 问题 常见的 OutOfMemoryError 有三类: java.lang.OutOfMemoryError: Java heap space 堆空间 java.lang.OutOfMemoryError: Java metaspace 元空间 java.lang.OutOfMemoryError: Java perm gen 永久代 步骤 实现 OOM 创建一个 OOM.java 文件,内容如下,由于全程将在命令行窗口执行 java 文件,虽然文件处于项目包中,但是添加包名会在命令行下编译错误,所以不添加: import java.util.HashMap; import java.util.Map; public class OOM { public static void main(String[] args) { Map cache = new HashMap(); for (int i = 0; i < 128; i++) { cache.put(i, new byte[1024 * 1024]); } } } 此时使用 javac 命令编译: javac OOM.java ,会出现 warning,原因是 Map 没有使用泛型

【转】Linux gdb调试器用法全面解析

天大地大妈咪最大 提交于 2019-12-06 04:13:46
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序。 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式。 当程序被停住时,可以检查此时程序中所发生的事,并追索上文。 动态地改变程序的执行环境。 不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须。而且,调试内核和调试应用程序时使用的gdb命令是完全相同的,下面以代码清单22.2的应用程序为例演示gdb调试器的用法。 1 int add(int a, int b) 2 { 3 return a + b; 4 } 5 6 main() 7 { 8 int sum[10] = 9 { 10 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 11 } ; 12 int i; 13 14 int array1[10] = 15 { 16 48, 56, 77, 33, 33, 11, 226, 544, 78, 90 17 }; 18 int array2[10] = 19 { 20 85, 99, 66, 0x199, 393, 11, 1, 2, 3, 4 21 }; 22 23 for (i = 0; i < 10; i++) 24 { 25 sum[i] = add

python的subprocess模块介绍

♀尐吖头ヾ 提交于 2019-12-06 03:27:18
一、subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程。像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序。 subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本通信。 subprocess.call() 父进程等待子进程完成 返回退出信息(returncode,相当于Linux exit code) subprocess.check_call() 父进程等待子进程完成 返回0 检查退出信息,如果returncode不为0,则举出错误subprocess.CalledProcessError,该对象包含有returncode属性,可用try…except…来检查 subprocess.check_output() 父进程等待子进程完成 返回子进程向标准输出的输出结果 检查退出信息,如果returncode不为0,则举出错误subprocess.CalledProcessError