目录
1 jupyter notebook
1.1 本地浏览器连接不上
问题:本地浏览器连不上aws的jupyter notebook
解决:先启动服务器的jupyter notebook,然后再打开本地浏览器进行连接
2 内存不够
2.1 实例选择
问题:运行程序,报错MemoryError。
解决:最开始选成了t2.micro,只有1G内存。实例停止后,在实例设置里面更改实力类型,也可以更改内存大小。
2.2 Lightgbm
问题:在训练LightGBM时,遇到奇怪的报错,至今未解决。
[LightGBM] [Warning] stod
Aborted(core dumped)
训练20000轮,最后的时候出现如下的报错。
本地重新跑程序,20000轮训练并无此问题。
于是重新设置10000轮训练,LightGBM正常。
3 EC2实例使用
3.1 实例并行
Xshell同一个界面下,可以开多个实例,让多个程序并行,只要CPU利用率没有到100%就可以一直开,提高EC2使用率。(最粗暴的方法)
4 基本操作
查看内存使用
-
服务器内存使用情况 -free
free -m --查看内存,不带单位
free -h --查看内存使用情况,带单位,更人性化显示查看结果:used:已使用内存free:可用内存cached:缓存,是可以清除的。 -
内存清除
如果cached过大接近total数就需要清除缓存了
缓存清除命令:如图
echo 1 > /proc/sys/vm/drop_caches --释放网页缓存
echo 2 > /proc/sys/vm/drop_caches --释放目录项和索引
echo 3 > /proc/sys/vm/drop_caches --释放网页缓存,目录项和索引
解压文件
使用unzip -d (解压后文件的存放目录) (想要解压的文件)
来进行文件解压操作,具体如下所示。
unzip -d /home/ubuntu/python_files/tarot_avengers_dev/data/factor/factor_short_term_data/model model_20200704.zip
如果出现write error (disk full?)
说明AWS 上的内存已经满了。
如果解压后文件存放的目录下有重复的文件,那么会出现提示如下,根据自己的需求选择。
(base) ubuntu@ip-172-31-47-29:~$ unzip -d /home/ubuntu/python_files/tarot_avengers_dev/data/factor/factor_short_term_data/model model_20200704.zip
Archive: model_20200704.zip
replace /home/ubuntu/python_files/tarot_avengers_dev/data/factor/factor_short_term_data/model/model_2018-01-01/model_random_seed_3_2018-01-01_15d.pkl? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
在AWS 上面解压文件,传输文件都要比通过本地更快,所以尽量使用语法在AWS 上面进行操作。
运行Python 文件
有两种方式,分别为直接
后台挂起
如果需要在退出连接,电脑关机等等情况下,让程序继续在AWS 上面跑着,那么需要将程序“挂起”运行,也就是在命令前面加上nohup
,比如下面这个命令nohup (命令)&
nohup python -u -m tarot.interval.mall_traffic_pred_interval.interval_train_short_term &
记录程序运行日志
将程序挂起运行后,Xshell上面不会显示运行的结果,这个时候如果想看结果的话,那么需要记录日志。也就是> run.log 2>&1
nohup python -u -m tarot.interval.mall_traffic_pred_interval.interval_train_short_term > run.log 2>&1 &
记录日志之后,程序想要看日志的内容,可以将run.log文件导入在本地查看,更方便的办法是使用tail -f run.log
,在Xshell上面显示日志的内容。
查看进程(核)
使用top
查看AWS 有多少个核,比如5.24xlarge,24*4 = 96 个核。
查看文件大小、磁盘空间
查看某个目录下文件的大小du -ha xxx.csv
查看某个目录下所有文件的大小du -ha
查看所有目录使用空间df -h
查看linux目录剩余空间大小
df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:df -hl
返回该目录的大小:du -sh [目录名]
5 Socket error Event: 32 Error: 10053.
本来在AWS 上面跑着程序,一觉起来,发现出现了这个报错。
仔细检查之后,发现原来是网断了……
原来是win10 会出现WiFi自动断开的情况。按照网上教程 https://blog.csdn.net/u010533180/article/details/52908500 更改了设置,目前没有出现这一问题。
这个完全可以使用后台挂起的方法来解决。
https://www.cnblogs.com/baihuitestsoftware/articles/8584705.html
https://blog.csdn.net/ruiyelp/article/details/80184249
https://www.cnblogs.com/baichuanhuihai/p/8107917.html
https://www.cnblogs.com/Security-Darren/p/4685629.html
按照时间对文件进行删除
https://www.jb51.net/article/113463.htm
https://www.cnblogs.com/wuning/p/11778348.html
find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \;
{} 两端一定要加上空格
调整AWS 的硬盘大小
弹性卷(ebs)
介绍:https://blog.csdn.net/finishy/article/details/55195235
http://8u.hn.cn/linuxjc/12129.html
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html
参考文章:
https://www.cnblogs.com/yoyoblogs/p/11289981.html
https://blog.csdn.net/u010533180/article/details/52908500
killed
xshell断开
关闭shell后如何保持程序继续运行
后续有新的继续添加……
感谢知道的大佬解答!!!