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百分比

top   每隔3秒显式所有进程的资源占用情况
top -d 1  每隔1秒显式所有进程的资源占用情况
top -c    每隔3秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 11111 -p 22222   每隔3秒显示pid是11111和pid是22222的两个进程的资源占用情况
top -d 2 -c -p 69358  每隔2秒显示pid是69358的进程的资源使用情况,并显式该进程启动的命令行参数
top 之后按e切换单位,

 

 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分钟同步一下服务器时间。让其与时间服务器的时间一致。

17. 连接sftp服务器

sftp -oPort=1111 root@139.9.130.1

-oPort 指定端口号

连接成功后可以执行一下操作:

下载文件到本地用户目录

get xxxx.txt

该命令会将xxxx.txt 下载到本地用户目录.

put xxxx.txt sftp 目录

该命令会上传xxxx.txt 到sftp目录.

 

18. sz命令

下载一个文件:  sz filename

下载多个文件:  sz filename1 filename2

下载dir目录下的所有文件,不包含dir下的文件夹: # sz dir/*

可以把linux上的文件直接下载到本地

19.rz命令

直接键入rz命令即可

 

 

18和19两个神奇的命令 学会了哈哈哈 

20. nslookup 查看域名背后都有哪些IP

 

nslookup openapi.alipay.com 

 

Server: 114.114.114.114

Address: 114.114.114.114#53

 

Non-authoritative answer:

openapi.alipay.com canonical name = openapi.alipaydns.com.

Name: openapi.alipaydns.com

Address: 110.75.244.202

Name: openapi.alipaydns.com

Address: 110.75.231.202

Name: openapi.alipaydns.com

Address: 110.75.236.202

Name: openapi.alipaydns.com

Address: 110.76.18.202

posted @ 2018-08-03 15:58  平淡有从容  阅读(309)  评论(0编辑  收藏  举报