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

  • 相关阅读:
    在TCP四次挥手中,为什么客户端发送FIN后,还可以发送报文
    园子今天有个Intel最新漏洞的文章,越来越觉得离谱了
    cdn load fail fallback
    Ethernaut的writeup
    把字符串渲染到页面上有哪些方式?
    VUE基础
    java 多线程 CountDownLatch&CyclicBarrier
    MySQL为什么使用B+树索引
    java 虚拟机
    聊聊C#中的composite模式
  • 原文地址:https://www.cnblogs.com/bfyq/p/9414622.html
Copyright © 2020-2023  润新知