分类 Linux 相关 下的文章

linux 本地端口 使用

今天查问题 遇到如下异常:
java.net.ConnectException: Cannot assign requested address

看到网上大多数是说 本地往外连接的端口已经被占用完.

  1. 首先查看本地的 ulimit 设置, 是否过小
    _$ ulimit -a
  2. 如果不是很小, 查看当前的 端口使用情况
    _$ ss -s
  3. 查看本地往外连接端口的设置:
    _$ cat /proc/sys/net/ipv4/ip_local_port_range

更多的 linux 网络配置参数:https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.kernel.obscure.html#AEN1252

参考:
https://ma.ttias.be/linux-increase-ip_local_port_range-tcp-port-range/

关于 linux PS 命令

虽然经常用, 但是不是那么熟悉它竟然能提供那么多的信息. PS 是 Process Status 的缩写. top 命令的输出和 PS 很类似, 只不过是实时刷新.

ps --help all //显示所有的命令行参数
ps L //显示输出格式
ps H 16705 //显示特定进程的线程信息

ps -o ppid,pid,lwp,nlwp,%cpu,%mem,cputime,cmd,args k -%cpu H 16705 //输出一个进程的所有线程, 并且自定义格式, 按照 cpu 使用时间倒序排列.

关于格式中的nlwp: Number of Lightweight Processes. This basically amounts to the number of threads a program has running

一般结合 https://www.pslinux.online/index.php & ps --help all 就能找到想用的参数.

network diagnosis commands

  1. wget
    -- wget -S --spider -T 1 -t 2 sellerprof.vip
    -- wget -S --spider -T 1 -t 2  --no-check-certificate https://esams.vip
  2. curl
    -- curl -I --retry 2 --connect-timeout 1 sellerprof.vip
    -- curl -I --retry 2 --connect-timeout 1 -k https://esams.vip
  3. telnet
  4. nslookup
    -- nslookup -query=hinfo  -timeout=1 -retry=1 esams.vip
  5. ping
    -- ping -c 10 -W 1 sellerprof.vip
  6. traceroute/tracert
    -- traceroute esams.vip
  7. mtr
    -- mtr -w --timeout=1 esams.vip
  8. dig
  9. netstat
    -- netstat -t --wide
    -- netstat -t -l
  10. ss
    -- ss -t -l
  11. routetable
    -- netstat -r
  12. ifconfig/ipconfig

iostat, vmstat, prstat, mpstat, nicstat, netstat

iostat reports CPU, disk I/O, and NFS statistics.
vmstat reports virtual memory statistics.
mpstat reports processors statictics.

vmstat: Virtual Memory statistic. 实时收集并报告主内存,交换分区(SWAP)以及 CPU 的使用情况. 用来查找和定位内存的性能问题.

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0  90175    239   1434    0    0     0     1    3    2  0  0 100  0  0
 0  0      0  90175    239   1434    0    0     0     0  153  176  0  0 100  0  0
 1  0      0  90151    239   1434    0    0     0     4 3068 1961  1  2 97  0  0

r: process running
b: process blocked
swpd: swapped to swap
free: memory free
buff: memory committed
cache: declared or can be swapped to swap
si: swap in
so: swap out
bi: block in (read disk unit is block, memory unit is page)
bo: block out
in: interrupt
cs: context switch
us: user, sd: system/kernel, id: idle, ws: waste

https://www.linode.com/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance

占位
http://www.thegeekstuff.com/2011/07/iostat-vmstat-mpstat-examples/