性能监控和优化命令
    top

        命令功能:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

        常用参数:

            -d    屏幕刷新间隔时间

        屏幕信息解释字段说明:

            第一行:

                top    当前系统时间

                up    系统运行时间

                user    当前登录用户数

                load average    系统负载

            第二行

                Tasks    进程总数

                running    正在运行的进程数

                sleeping    休眠进程数

                stopped    停止进程数

                zombie        冻结进程数

            第三行

                CPU(s)    用户空间cpu占用百分比

                sy    内核空间占用cpu百分比

                nl    用户进程空间内改变过优先级的进程占用CPU百分比

                id    空闲cpu百分比

            第四行

                Mem total    物理内存总量

                used    已使用的物理内存总量

                free    空闲内存总量

                buffers    用作内核缓存的内存量

            第五行

                swap    交换区总量

                used    已使用的交换区总量

                free    空闲交换区总量

                cached    缓冲交换区总量


    free

        命令功能:显示当前系统内存情况

        参数

            -b    以byte为单位显示内存使用情况

            -k    以kb为单位显示内存使用情况

            -m    以mb为单位显示内存使用情况

            -s    持续显示内存使用情况

        显示信息字段说明

            total:内存总数

            used:已经使用的内存数

            free:空闲的内存数

            shared:当前已经废弃不用

            buffers Buffer:缓存内存数

            cached Page:缓存内存数。


    vmstat

        命令功能:显示虚拟内存状态

        参数:

            -a    显示活动内页

            -f    显示启动后创建的进程总数

            -s    显示时间计数器和内存状态

            -d    报告磁盘状态

            -p    显示指定的磁盘翻去状态

        字段说明:

            Procs(进程) 

                r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1) 

                b: 等待IO的进程数量。 

            Memory(内存) 

                swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。 

                free: 空闲物理内存大小。 buff: 用作缓冲的内存大小。 

                cache: 用作缓存的内存大小

                    如果cache的值大的时候,说明cache处的文件数多

                    如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。 

            Swap 

                si: 每秒从交换区写到内存的大小,由磁盘调入内存。 

                so: 每秒写入交换区的内存大小,由内存调入磁盘。 

                 注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。

            IO(现在的Linux版本块的大小为1kb) 

                bi: 每秒读取的块数 

                bo: 每秒写入的块数 注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。 

            system(系统) 

                in: 每秒中断数,包括时钟中断。 

                cs: 每秒上下文切换数。 注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。 

            CPU(以百分比表示) 

               us: 用户进程执行时间百分比(user time) us的值比较高时,说明用户进程消耗的CPU时间多

                    如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。 

                sy: 内核系统进程执行时间百分比(system time) sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。 

                wa: IO等待时间百分比 wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。 

                id: 空闲时间百分比



    iostat

        命令功能:监视系统输入输出设备和CPU的使用情况

        参数

            -c    显示cpu的使用情况

            -d    显示设备利用率

            -k    显示状态以kb为单位

            -m    显示状态以mb为单位

            -p    显示块设备和所有被使用的其他分区的状态


    lsof

        命令功能:用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件

        参数:


            -a    列出打开文件存在的进程

            -c    列出指定进程所打开的文件

            -g    列出GID进程详情

            -d    列出占用该文件的进程

            -D    递归列出目录下被打开的文件

            -i    列出符合条件的进程

            -p    列出进程号所打开的文件

            -u    列出UID号的进程详情   


网络命令
    ifconfig

        命令功能:用于配置和显示Linux内核中网络接口的网络参数

        常用参数:

            up    启动指定网络设备

            down    关闭指定网络设备


    route

        命令功能:显示并设置Linux内核中的网络路由信息


        选项:

            -n    不反解地址到主机名

            -A    设置地址类型

            -C    显示linux核心路由缓存

            -e    netstat格式显示路由表

            -net    到一个网络的路由表

            -host    到一个主机的路由表

        参数:

            add    增加指定的路由记录

            del    删除指定的路由记录

            gw    设置默认的网关

            

    ping


        命令功能:测试主机之间网络的连通性

        常用参数:

            -c    设置完成要求回应的次数

            -i    指定首发信息的间隔时间

            

    netstat

        命令功能:输出Linux中网络系统的状态信息

        常用参数:

            -a    列出所有端口

            -t    tcp传输协议

            -u    udp传输协议

            -l    显示监听端口

            -n    直接使用ip地址,而不通过域名服务器


    ss

        命令功能:显示处于活动状态的套接字

        常用参数:

            -a    显示所有套接字

            -t    显示tcp套接字

            -l    显示处于监听状态的套接字


    telnet

        命令功能:登录远程主机,对远程主机进行管理

    

    rcp

        命令功能:两台Linux主机之间的文件复制操作更简单


    scp(常用)

        命令功能:在Linux下进行远程拷贝文件的命令        

        参数:

            -a 复制文件的权限

            -r 复制目录

            -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

            -v 显示进度

            -P 端口

        示例:

            scp local_file remote_username@remote_ip:remote_folder 

            scp 文件 用户@ip:路径