Linux常用命令

su user_name  切换用户

1.查看端口号占用 和查看服务是否启动。

lsof -i:端口号 例如 lsof -i:8080

$ lsof -i:8080

COMMAND PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

WeChat  489 songyang   28u  IPv6 0x6dcb321b8c5aa229      0t0  TCP bogon:53478->223.167.104.149:http-alt (ESTABLISHED)

QQ      498 songyang   15u  IPv4 0x6dcb321b98929929      0t0  TCP lalal:55488->no-data:http-alt (ESTABLISHED)

QQ      498 songyang   19u  IPv4 0x6dcb321b98929929      0t0  TCP lalal:55488->no-data:http-alt (ESTABLISHED)

 

 

ps -ef|grep redis 查看redis是否启动

 

netstat -tnlp 显示tcp的端口和进程的相关情况。

 

 

2.杀死端口

kill -9 PID 例如 kill -9 489

 

 

 

 

3.查看文件大小

du -sh *

$ du -sh *

312K 任务分割.xlsx

312K 任务分割2.xlsx

 

查看磁盘使用量

df -lh

 

4.top

  查看每个进程的占cpu百分比

 ps -ef | grep 进程号 

  查看该进程详细信息

5.查看占用CPU最多的前10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

 

6.查看占用内存最多的前10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

 

补充:

PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称

 

 

 

java.lang.OutOfMemoryError: Unable to create new native thread

当JVM向OS申请创建线程,而OS不能分配一个本地线程时抛出。

 

7.查看系统最多可以创建多少个进程 我的是 32768

sysctl -a | grep kernel.pid_max  或者 cat /proc/sys/kernel/pid_max

8.修改系统最大进程数为200000

echo 200000 > /proc/sys/kernel/pid_max

9.查看系统可以允许的最大的线程数 我的是 126946

cat /proc/sys/kernel/threads-max 

10.修改系统可以允许的最大线程数为 120000

echo 120000 > /proc/sys/kernel/threads-max

 

11.查看系统是否允许用户申请足够多的进程(包含线程)

 ulimit -a

 ulimit -u 默认的最大线程

 ulimit -s 默认的最大栈

12.查看运行现状

 cat /proc/loadavg

0.04 0.04 0.10 1/6788 31909

以上几个数分别表示

一分钟平均负载0.04 5分钟平均负载0.04 15分钟平均负载0.10 当前有一个进程正在运行,总进程数是6788,最近运行的进程ID是31909

13 .查看当前进程数

 ps -elf | wc -l

14. 查看当前线程数

 ps -elfT | wc -l 

14. 查看某个进程的线程数

 ps -p 3239 -lfT | wc -l

15. 查看某个进程的线程详细

 jstack -l 3239 | more

16. 添加例行计划任务

 因为两台服务器时间不一致,导致java的定时任务不能同时执行,进而导致了重复执行,因为redis锁已经没用了。所以需要同步两台服务器的时间

 

crontab -l 查看当前的例行计划任务

crontab -e 进入编辑状态 

添加下面一行并保存。

*/5 * * * * /sbin/ntpdate ntp1.aliyun.com 表示每5分钟同步一下服务器时间。让其与时间服务器的时间一致。

原文地址:https://www.cnblogs.com/bfyq/p/9414622.html