云端使用记录暨部署服务后续
云端使用情况
因为云是试用版的所以只有一核一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的日志文件。
本文介绍了在有限资源的云环境中如何高效管理和优化服务部署。包括使用Linux命令监控资源使用情况,利用Docker容器化技术节省资源,以及通过nohup命令使应用在后台持续运行的方法。
2881

被折叠的 条评论
为什么被折叠?



