7.29 Linux(2)


Linux(2)

常见的程序的错误:

1、Java.lang.OutOfMemory(内存泄露) —>OOM 数据读写,上传文件的服务,下载文件的服务,淘宝发放优惠卷

2、TimeOut,超时 主要指的是客户端不断的向服务端发送请求,服务端这边的资源有限(内存和CPU),那么有可能会出现超时

3、Java空指针 Java.lang.NullPointException 4、java.StackOverExpection 堆栈溢出

帮助命令

⼀、man

Linux命令的软件开发⼈员编写⼀个⾼度结构化的⽂档⼿册,也就是man的⽂件。所以当⼀个软件在被安装后,它 的man⽂件也会随着安装,所以可以使⽤man命令来查看该命令的具体使⽤⽅法,如man nmon,就会显示输出如下的信息:

man ls:

7.29 Linux(2)

 

man mkdir:

7.29 Linux(2)

 

⼆、info

使⽤man可以查看⼀个命令的帮助document,但是可以使⽤info,就会进⼊到⼀个完全交互式的环境,具体如 下:

info mkdir:

7.29 Linux(2)

 

Linux权限操作

1、chmod修改文件权限

Linux 系统中,⽂件的基本权限由 9 个字符组成,以 rwxrw-r-x 为例,我们可以使⽤数字来代表各个权限,各个权限与数字的对应关系如下: r –> 4 w –> 2 x –> 1

由于这 9 个字符分属 3 类⽤户,因此每种⽤户身份包含 3 个权限(r、w、x),通过将 3 个权限对应的数字累加, 最终得到的值即可作为每种⽤户所具有的权限。 拿 -rw-rw-r–来说,所有者、所属组和其他⼈分别对应的权限值为: 所有者 = -rw = 4+2 = 6 所属组 = rw- = 4+2 = 6 其他⼈ = r– =2 所以,此权限对应的权限值就是 664。

7.29 Linux(2)

 

使⽤数字修改⽂件权限的 chmod 命令基本格式为: [root@localhost ~]# chmod [-R] 权限值 ⽂件名 -R(注意是⼤写)选项表示连同⼦⽬录中的所有⽂件,也都修改设定的权限。

7.29 Linux(2)

既然⽂件的基本权限就是 3 种⽤户身份(所有者、所属组和其他⼈)搭配 3 种权限(rwx),chmod 命令中⽤ u、 g、o 分别代表 3 种身份,还⽤ a 表示全部的身份(all 的缩写)。另外,chmod 命令仍使⽤ r、w、x 分别表示 读、写、执⾏权限。

使⽤字⺟修改⽂件权限的 chmod 命令,其基本格式如图所示。

7.29 Linux(2)

 

具体操作如下:

7.29 Linux(2)

资源占用命令

1、free查看内存

(1) free命令默认是以kb为单位显示的,可以⽤free -m ⽤Mb单位来显示。

(2) Mem⾏ : total = used + free 其中buffers和cached虽然计算在used内, 但其实为可⽤内存。

(3) Mem下⼀⾏:used为真实已占内存,free为真实可⽤内存。

(4)Swap:内存交换区的使⽤情况。

7.29 Linux(2)

2、top整体负载

top

(1)第⼀⾏: 系统时间 + 系统运⾏时间 + ⼏个⽤户 + 1/5/15分钟系统平均负载

(2)第⼆⾏:进程总数(total) + 正在运⾏进程数(running) + 睡眠进程数(sleeping) + 停⽌的进程数(stopped)+ 僵 ⼫进程数(zombie)

(3)第三⾏:⽤户空间CPU占⽐(us) + 内核空间CPU占⽐(sy)+ CPU空置率(id)

7.29 Linux(2)

 

htop:yum install htop

7.29 Linux(2)

 

atop:yum install atop

7.29 Linux(2)

 

注解:

PID :进程ID

USER :⽤户名

PR :优先级

NI :负值表示⾼优先级,正值表示低优先级。

VIRT :虚拟内存

RES : 真实内存

SHR :共享内存

S :进程状态 D=不可中断的睡眠状态; R=运⾏; S=睡眠 ;T=跟踪/停⽌; Z=僵⼫进程

参数:

top -d 2 :每隔2秒显式所有进程的资源占⽤情况

7.29 Linux(2)

 

top -c :每隔5秒显式进程的资源占⽤情况,并显示进程的命令⾏参数(默认只有进程名)

7.29 Linux(2)

 

top -p 12345 -p 6789:每隔5秒显示pid是12345和pid是6789的两个进程的资源占⽤情况

7.29 Linux(2)

 

top -d 2 -c -p 123456 :每隔2秒显示pid是12345的进程的资源使⽤情况,并显式该进程启动的命令⾏参数

与上述一致

在top的命令⾥⾯,按m是对内存进⾏排序,按p是按cpu进⾏排序,具体如下:

按CPU排序:

7.29 Linux(2)

 

按内存排序

7.29 Linux(2)

 

3、uptime查看平均负载

7.29 Linux(2)

 

4、nmon

使用该命令可以监控Linux的各个资源信息,输⼊nmon,输出如下:

7.29 Linux(2)

 

c m d可查看CPU 内存 磁盘使用情况

7.29 Linux(2)

 

端口查看

windows系统中:

netstat -ano | findstr 80:查询端口占用的进程pid 使用进程PID查询那个程序占用 tasklist | findstr “4480”

⼀、lsof

lsof(list open files)是⼀个列出当前系统打开⽂件的⼯具。

lsof 查看端口占用语法格式:lsof -i:端口(需要权限得加上sudo)

mysql:3306

7.29 Linux(2)

 

java:8080

7.29 Linux(2)

 

注:windows系统中:

netstat -ano | findstr 80:查询端口占用的进程pid 使用进程PID查询那个程序占用 tasklist | findstr “4480”

⼆、netstat

netstat -tunlp ⽤于显示 tcp,udp 的端⼝和进程等相关情况。 netstat 查看端⼝占⽤语法格式: netstat -tunlp | grep 端⼝号

-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建⽴相关链接的程序名

7.29 Linux(2)

 

netstat -t:

7.29 Linux(2)

 

 

 

原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/277942.html

(0)
上一篇 2022年7月30日
下一篇 2022年7月30日

相关推荐

发表回复

登录后才能评论