centos graphviz(centos查看gpu信息)
linux 下graphviz 安装后怎么用好
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:
其它版本下载链接参照:
发行包:
RedHat and CentOS:
Fedora:
Ubuntu:
yum:
yum list'graphviz*'查看已安装graphviz包
yum install'graphviz*'安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
digraph g{
node [shape= record,height=.1//我定义了我下面的样式;
node0[label="<f0>|<f1> G|<f2>"];
//我是一个node,我有三个属性,第二个的名字为G,其他两个为空
node1[label="<f0>|<f1> E|<f2>"];
node2[label="<f0>|<f1> B|<f2>"];
node3[label="<f0>|<f1> F|<f2>"];
node4[label="<f0>|<f1> R|<f2>"];
node5[label="<f0>|<f1> H|<f2>"];
node6[label="<f0>|<f1> Y|<f2>"];
node7[label="<f0>|<f1> A|<f2>"];
node8[label="<f0>|<f1> C|<f2>"];
"node0": f2->"node4":f1;
//我的第三个属性连到node4的第二个属性
"node0": f0->"node1":f1;
"node1": f0->"node2":f1;
"node1": f2->"node3":f1;
"node2": f2->"node8":f1;
"node2": f0->"node7":f1;
"node4": f2->"node6":f1;
"node4": f0->"node5":f1;
}
Gotool问题排查:协程泄漏问题
下载测试代码
goget中可以获取测试程序,注意加上-d避免下载后自动安装。
goget-dgithub.com/wolfogre/go-pprof-practicecd$GOPATH/src/github.com/wolfogre/go-pprof-practice
如果goget下载不了,可以gitclone下载
girclone
对代码进行编译
然后运行
gomodinitgomodtidy
最后再运行
gobuild./go-pprof-practice
保持程序运行,打开浏览器访问,可以看到如下页面:
内存泄漏问题排查
golang和Java有点类似,自带了内存回收,所以一般不会发生内存泄漏。但是也不绝对,golang中协程本身是可能泄漏的,或者叫做协程协程失控,进而导致内存泄漏。
启动程序
为了能更加图形化的展示,可以安装。graphviz
安装方式brewinstallgraphviz#formacosaptinstallgraphviz#forubuntuyuminstallgraphviz#forcentos
安装完成后,我们继续在上文的交互式终端里输入web,注意,虽然这个命令的名字叫“web”,但它的实际行为是产生一个.svg文件,并调用你的系统里设置的默认打开.svg的程序打开它。如果你的系统里打开.svg的默认程序并不是浏览器(比如可能是你的代码编辑器),这时候你需要设置一下默认使用浏览器打开.svg文件
浏览器访问
可以看到协程有46个,使用pprof排查一下
gotoolpprof
输入top命令
可以看到cum那一行,是Drink有40个协程。
查看list.Drink
输入web,浏览器可以看到冒红的那部分。
可能这次问题藏得比较隐晦,但仔细观察还是不难发现,问题在于github.com/wolfogre/go-pprof-practice/animal/canidae/wolf.(*Wolf).Drink在不停地创建没有实际作用的协程:
func(w*Wolf)Drink(){log.Println(w.Name(),"drink")fori:=0;i<10;i++{gofunc(){time.Sleep(30*time.Second)}()}}
可以看到Drink函数,每次循环会有创建10个协程,协程会sleep30s才会退出,如果反复调用这个Drink函数,那么会导致大量协程出现泄漏,协程数会增加。
欢迎关注公众号:程序员财富自由之路
参考资料
作者:banjming著作权归作者所有。
anaconda如何安装django(Anaconda如何安装graphviz)
导读:本篇文章首席CTO笔记来给大家介绍有关anaconda如何安装django的相关内容,希望对大家有所帮助,一起来看看吧。
linux django uwsgi+nginx怎么调试
1.python和django的环境搭建
(1)下载anaconda3并安装
wget
sh Anaconda3-2.3.0-Linux-x86_64.sh
一路enter键,然后提示是否加入到环境变量时,输入yes即可。
(2)安装django
直接pip install django
安装成功之后就可以新建项目
django-admin startproject demosite
cd demosite
python manage.py startapp blog
python manage.py migrate(要执行这个命令,让django生成可运行的app,否则后面使用uwsgi会报错)
(3)运行django
python manage.py runserver
curl 127.0.0.1:8000进行如果可以正常访问,就说明django安装成功。
2.安装uwsgi
(1)centOS
yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
pip install uwsgi
uwsgi--version#查看 uwsgi版本
(2)test.py
然后,Run uWSGI:
uwsgi--http:8000--wsgi-file test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return ["Hello World"]# python2
#return [b"Hello World"]# python3
(3)ubuntu可以能会出现错误:
如果出现错误,!!! no internal routing support, rebuild with pcre support!!!
sudo apt-get install libpcre3 libpcre3-dev
sudo pip uninstall uwsgi
sudo apt-get remove uwsgi
sudo pip install uwsgi
(4)测试
1)打开下面url,浏览器上应该显示hello world
curl如果安装httpie模块的话使用http
如果显示正确是Hello World,说明上面的环节是畅通的
2)测试django
默认使用django新建工程会在app下面生成一个wsgi.py的文件
uwsgi--http:8000--wsgi-file wsgi.py直接这样也会报错
uwsgi--http:8000--wsgi-file appname/wsgi.py
打开浏览器输入如果现实正确说明web client--uwsgi--- django是畅通的
3.安装配置nginx
(1)安装
wget
tar xf nginx-1.9.5.tar.gz
cd nginx-1.9.5
./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_gzip_static_module
makemake install
或者参考
(2)配置文件
vi/usr/local/nginx/conf/nginx.conf
一般来说加入个server就OK了
参考配置如下
user root;
worker_processes1;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
pidlogs/nginx.pid;
events{
use epoll;
worker_connections65535;
}
http{
include mime.types;
default_typeapplication/octet-stream;
#log_formatmain'$remote_addr-$remote_user [$time_local]"$request"'
#'$status$body_bytes_sent"$http_referer"'
#'"$http_user_agent""$http_x_forwarded_for"';
#access_loglogs/access.logmain;
sendfileon;
#tcp_nopush on;
#keepalive_timeout0;
keepalive_timeout65;
#gzipon;
server{
listen 8099;
server_name 10.117.52.157;##对外访问的IP和端口号
access_log/tmp/cms/access.log;
error_log/tmp/cms/error.log;
#charset koi8-r;
#access_loglogs/host.access.logmain;
location/{
includeuwsgi_params;
uwsgi_pass 127.0.0.1:8088;
uwsgi_read_timeout 300;
}
#error_page404/404.html;
# redirect server error pages to the static page/50x.html
#
#error_page 500 502 503 504/registration/500.html;
#location=/registration/500.html{
#root html;
#}
location/static/{
alias/root/cms/cms/static/;
indexindex.html index.htm;
}
location/media/{
alias/root/cms/cms/media/;
}
}
}
(3)运行and重启
/usr/local/nginx/sbin/nginx
启动: nginxstart
重启: nginx-s reload
4.使用uwsgi的配置文件运行django
在确保nginx运行之后,就可以通过uwsgi来运行django了。nginx在最外层接收请求,静态的自己处理,动态的通过socket端口交给uwsgi来处理。
配置文件内容如下
[uwsgi]
socket=:8088#要和nginx对应的IP和端口号一致
chdir=/root/cms/cms#APP的目录
module=cms.wsgi#wsgi.py文件位置
touch-reload=/root/cms/cms/reload#重启只要输入命令touch reload文件即可
processes=4
threads=2
daemonize=/tmp/cms/wsgi.log#日志文件位置
放在APP的上一级目录
直接运行uwsgi--ini uwsgi.ini即可
关于pycharm社区版环境配置
很多小白初学python会选择使用pycharm,而pycharm社区版在环境配置方面确实多了不少小麻烦。
想要创建第一个Django项目之前,要坐以下几件事
1、安装conda科学计算环境
conda的官网是:
安装教程:随便搜一下就有
一点注意事项:window10系统安装后,需要去配置系统变量
2、用pycharm新建项目时,要注意自定义环境
如果不这么选,会出现在cmd小黑窗中conda,django都安装好了,到了pycharm中就无效,又得一个一个重装,原因貌似是pycharm每当新建一个项目的时候会自动创建一个虚拟环境。
3、通过pip安装django需要的版本
以上几条都做完之后,理论上就可以安心的去新建django项目了
如何在Anaconda中安装Django
笔者使用Sublime Text 3安装配置插件Anaconda步骤:
安装:
打package control菜单输入install或者直接点击install package命令菜单
新窗口输入Anaconda并点击第备选项进行安装
安装完显示messages文档
配置:
点击Anaconda插件默认设置菜单弹设置文档
约90行位置我修改Python主程序位置路径
结语:以上就是首席CTO笔记为大家整理的关于anaconda如何安装django的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~