云端使用记录暨部署服务后续

本文介绍了在有限资源的云环境中如何高效管理和优化服务部署。包括使用Linux命令监控资源使用情况,利用Docker容器化技术节省资源,以及通过nohup命令使应用在后台持续运行的方法。

云端使用记录暨部署服务后续

云端使用情况

因为云是试用版的所以只有一核一G,万事都得节俭一些。上次在云端上安装了jdk和mysqld环境,安装的时候都采用了开机后台运行的情况。

后来才使用了docker,就没有将其环境删除,docker也是跑在后台,所以内存就有点不够用了,上次一次部署了两个项目报错了,找了半天原来是内存不够使用。昨天想起来那个springboot的demo所以想让他在后台跑跑,顺便看看内存。

记一下使用比较多的linux命令,主要是cpu进程内存查看,service等等。

ps ps命令用于报告当前系统的进程状态。
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-f:显示UID,PPIP,C与STIME栏位。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。
-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。

top交互命令
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
kill kill命令用来删除执行中的程序或工作。
kill(选项)(参数)
选项
-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。
参数
进程或作业识别号:指定要删除的进程或作业。
free 内存查看命令
free -m 以m为单位查看

其中最后使用到的是:

ps a 显示现行终端机下的所有程序,包括其他用户的程序。

ps u   以用户为主的格式来显示程序状况。

ps x   显示所有程序,不以终端机来区分。

 1)USER: 行程拥有者
2)PID: 进程的ID
3)%CPU: 占用的 CPU 使用率
4)%MEM: 占用的记忆体使用率
5)VSZ: 占用的虚拟记忆体大小
6)RSS: 占用的记忆体大小
7)TTY: 终端的次要装置号码 (minor device number of tty)
8)STAT: 该行程的状态:
    D: 不可中断的静止
    R: 正在执行中
    S: 静止状态
    T: 暂停执行
    Z: 不存在但暂时无法消除
    W: 没有足够的记忆体分页可分配
    <: 高优先序的行程
    N: 低优先序的行程
    L: 有记忆体分页分配并锁在记忆体内
9)START: 行程开始时间
10)TIME: 执行的时间
11)COMMAND:所执行的指令 

后面可加参数: |sort -k4nr|head -n 10使用内存前10的

 \# ps aux | sort -k3nr | head -n 10  使用cpu前10的

在杀死我后台跑的程序后我free了一下内存,发现空了400出来了,其中springboot没有占多少,主要为docker和mysql吧。

systemctl 运行什么服务
service [服务名] stop 停止
ctrl + c 从交互界面退出

项目部署

在使用 cd /进到jar所在文件夹后,使用java -jar demo…的命令跑起来项目后,项目成功运行。但过段时间后虚拟机的链接就丢失了,访问不到项目了。所以想将其跑在后台,关闭链接也可以访问到项目。

nohup command > /dev/null 2>&1 &

解释:

nohup:

no hangup,不挂断地运行命令。只用nohup命令,关闭终端,进程还存在。若在终端中直接使用Ctrl+c,则会关闭进程。

command:

command是用户输入的命令,可自行设置。如“java -jar crm.jar”等。

&:

后台运行。当你只使用“&”时,关闭终端,进程会关闭。

建议:

所以当你要让程序在后台不挂断运行时,需要将nohup和&一起使用。

会在项目目录下留下一个.out的日志文件。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值