运行命令

面试官:CPU百分百!给你一分钟,怎么排查?有几种方法?

浪尽此生 提交于 2019-12-06 02:21:52
Part0 遇到了故障怎么办? 在生产上,我们会遇到各种各样的故障,遇到了故障怎么办? 不要慌,只有冷静才是解决故障的利器。 下面以一个例子为例,在生产中碰到了CPU 100%的问题怎么办? 在生产中真的碰到了CPU 100%的问题,再来看这篇文章已经迟了,还是先来模拟演练下吧。 怎么模拟演练? (1)查找资料,选型排查CPU高负载问题的工具。 (2)安装一个高负载程序或手写个高负载应用部署。 (3)安装、执行分析工具,实战分析,找出故障原因。 (4)思考与总结。 Part1 工具选型 因为现在大部分的企业应用都是java编写的,所以我们本次排查的高负载应用也是针对java的,但是思路其实是相同的,如果也有php、python、go等语言写的程序,无非就是换个工具而已,排查的步骤都是类似的。 而top这个命令一定是Linux上不可动摇的资源监控工具。 以下三类工具从原生的top、jstack到功能强大的Arthas和一键式查找的show-busy-java-threads,它们都各有长处。在合适的环境选择合适的工具才是考验一个IT人员能力的时候。 运用之道,存乎一心。 1.1 原生方法 此方法无需额外安装工具,在没法连接互联网的情况下使用此方法排查效果较好。 top、printf都是Linux原生命令,jstack、jstat是jdk自带命令工具。

Docker 学习笔记

十年热恋 提交于 2019-12-06 02:05:56
Docker练习教程 一个集成UNIX小程序的docker镜像:busybox github docker部署webapp;后台运行,暴露端口 [外:内] docker镜像:版本指定 镜像分类:基础和子镜像,官方和用户镜像 创建自定义的镜像: flask应用程序 通过Dockerfile构建自己的镜像 Docker推送到云端共享给他人,使用公共Hub如 Docker官方Hub account: fubinh , 亚马逊AWS 或者 自己创建私有镜像库 多容器运行应用, Python-Flask和Elasticsearch示例 docker网路:桥接,创建自己的网络,隔离网络 Docker Compose Docker Machine 在自己的计算机,云提供商和您自己的数据中心内创建Docker主机 Docker Compose :用于 定义和运行多容器Docker应用程序 的工具 Docker Swarm - Docker的本机群集解决方案 Kubernetes - Kubernetes是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。 Awesome Docker Docker课堂 docker监控工具:lazydocker ## 前台运行docker pull lazydockerdocker run -it -v /var/run/docker.sock:/var

Docker入门介绍

时光总嘲笑我的痴心妄想 提交于 2019-12-06 02:01:52
目录 Docker入门介绍 1、Docker是什么 2、安装Docker 3、确保docker已就绪 4、运行第一个容器 5、使用第一个容器 6、容器命名 7、重启已停止的容器 8、附着到容器上 9、创建守护式容器 10、Docker日志驱动 11、查看容器内的进程 12、Docker统计信息 13、在容器内部运行进程 14、停止守护式容器 15、自动重启容器 16、深入容器 17、删除容器 18、小结 Docker入门介绍 1、Docker是什么 Docker 是基于Go语言实现的开源容器项目。利用操作系统本身已有的机制和特性,可以实现远超传统虚拟机的轻量级虚拟化。它是内核级的虚拟化。期望达到使项目运行环境“一次封装,到处运行的目的”。 利用docker创建的运行环境叫做docker容器,容器是通过docker镜像创建的,docker镜像文件可以放在私有仓库中也可以放在共有仓库中。最大的公有仓库是官方Docker Hub。 介绍再详细,不如直接上手使用。 2、安装Docker 要想使用Docker,当然要先安装Docker。这里安装过程不是介绍重点,建议直接根据网络上已有的教程安装即可,并无难度。 菜鸟教程各系统下安装方法皆有详细教程,可根据下面链接获取。 菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html 3

Linux gdb调试器用法全面解析

这一生的挚爱 提交于 2019-12-06 01:16:29
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/21cnbao/article/details/7385161 更多精华文章请扫描下方二维码关注Linux阅码场 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,

Django的web开发之博客制作

此生再无相见时 提交于 2019-12-06 01:10:45
首先需要python的环境,这里就不赘述了 具体可以参考: https://blog.csdn.net/Leo_csdn_/article/details/88552724 linux下用pip安装django:pip install django 安装完成后, 运行如下命令创建工程: django-admin startproject blogproject 进入工程所在目录 ,会发现多了一个 blogproject\ 的目录,其内部的文件结构如下 blogproject\ manage.py blogproject\ __init__.py settings.py urls.py wsgi.py 最顶层的 blogproject\ 目录是我们刚刚指定的工程目录。blogproject\ 目录下面有一个 manage.py 文件,manage 是管理的意思,顾名思义 manage.py 就是 Django 为我们生成的管理这个项目的 Python 脚本文件,以后用到时会再次介绍。与 manage.py 同级的还有一个 blogproject\ 的目录,这里面存放了一些 Django 的配置文件,例如 settings.py、urls.py 等等,以后用到时会详细介绍。 网站需要运行在一个 Web 服务器上,Django 已经为我们提供了一个用于本地开发的 Web 服务器

Django Web 开发极简实战

[亡魂溺海] 提交于 2019-12-06 01:08:22
课程介绍 本课程是一个系列基础教程,目标是带领读者上手实战 Django Web 开发,课程以 Django 1.10 为基础,通过一个在线视频网站的构建,实战化的介绍 Django Web 开发中涉及的各大基本功能,从项目的创建和配置、到视图函数的创建和 URL 映射设置、到数据模型的创建使用和 Django 模板的运用,再到用户认证系统的实现,最后完成 Django 项目在 Ubuntu 上的部署。 认真读完这个系列文章之后,将会理解 Django Web 开发的过程和其中涉及到的各种基本功能,具备使用 Django 上手进行 Web 开发的基本能力,为使用 Django 构建复杂的 Web 应用打下基础。 作者介绍 杨健,新三板某电商企业技术部 Python 开发工程师,负责公司数据挖掘项目的构建,Python 独立教程博客主:州的先生,对 Python 多领域的运用(Web 开发、数据采集、数据分析和挖掘等)均有所研究和涉及。 课程内容 导读:为什么是 Django 为什么选择 Django 作为 Web 开发,因为……我喜欢\^_^||,哈哈,有点任性了。 实际上,作为一个成熟的 Web 框架,Django 有着很多优点,尤其是对新接触 Python Web 开发的读者: 清晰的架构 完整的功能 丰富的文档 对于一个 Web 新手来说,Django 将数据模型

Docker基本操作命令

非 Y 不嫁゛ 提交于 2019-12-05 23:27:19
docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secret 管理Docker secrets service 管理服务 stack 管理Docker stacks swarm 管理Swarm集群 system 查看系统信息 volume 管理卷 如:docker container ls 显示所有容器 普通命令: attach 进入一个运行的容器 build 从一个DockerFile构建镜像 commit 从容器创建一个镜像 cp 从容器和主机文件系统之间拷贝文件 create 创建一个容器 diff 检查容器文件系统上的更改 events 从服务器获取实时事件 exec 在正在运行的容器中运行命令 export 将容器的文件系统导出为tar存档 history 显示镜像的历史记录 images 查看镜像列表 import 从归档文件中创建镜像 info 显示系统范围的信息 inspect 返回Docker对象的低级信息 kill kill运行中的容器 load 从存档或者STDIN加载镜像 login 登陆docker镜像仓库 logout 退出docker镜像仓库 logs 获取一个容器的日志 pause 暂停一个或多个容器中的所有进程 port

docker入门

≡放荡痞女 提交于 2019-12-05 22:42:53
wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现。 docker是linux容器的一种封装,提供简单易用的容器使用接口。它是最流行的Linux容器解决方案。 docker的接口相当简单,用户可以方便的创建、销毁容器。 docker将应用程序与程序的依赖,打包在一个文件里面。运行这个文件就会生成一个虚拟容器。 程序运行在虚拟容器里,如同在真实物理机上运行一样,有了docker,就不用担心环境问题了。而且docker有一个特点,就是秒级别启动,非常快 docker应用场景 web应用的自动化打包和发布 自动化测试和持续集成、发布 在服务型环境中部署和调整数据库或其他应用 为什么要用docker? 我们先看看很久很久以前,服务器是怎么部署应用的! 由于物理机的诸多问题,后来出现了虚拟机 但是虚拟化也是有局限性的,每一个虚拟机都是一个完整的操作系统,要分配系统资源,虚拟机多道一定程度时,操作系统本身资源也就消耗殆尽,或者说必须扩容 docker与虚拟机的区别 docker VS 传统虚拟机 特性 容器 虚拟机 启动

docker基础知识

浪子不回头ぞ 提交于 2019-12-05 22:11:33
一、认识 1.什么是docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 自开源后受到广泛的关注和讨论,以至于dotCloud 公司后来都改名为 Docker Inc。Redhat已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。 Docker的主要目标: 通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用级别的一次封装,到处运行。 小贴士:这里的应用组件,可以是WEB应用,也可以是一套数据库服务,甚至可以是一个操作系统编译器 2.为什么使用docker Docker容器虚拟化的优点: 环境隔离; 通过cgroups和namesapce进行实现资源隔离,实现一台机器运行多个容器互不影响。 更快速的交付部署; 使用docker,开发人员可以利用镜像快速构建一套标准的研发环境;开发完成后,测试和运维人员可以直接通过使用相同的环境来部署代码。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。并且,各个步骤都有明确的配置和操作,整个过程全程课件

使用systemctl管理服务

杀马特。学长 韩版系。学妹 提交于 2019-12-05 19:32:33
系统服务,开机不需要登录就能运行的程序(相当于开机自启) /usr/lib/systemd/system 用户服务,需要登录后才能运行的程序 /usr/lib/systemd/user 目录下又存在两种类型的文件: *.service 服务unit文件 *.target 开机级别unit 配置文件详解 以下为 Nginx 启动脚本 [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking User=nginx Group=nginx ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop [Install] WantedBy=multi-user.target [Unit] Documentation