开启辅助访问 切换到窄版

  • Ubuntu 18安装配置X11VNC并使用VNC连
    Ubuntu 18安装配置X11VNC并使用VNC连
    1、安装x11vnc服务,必须使用普通用户进行安装配置,不能使用Root用户操作 2、设
  • Windows 7与Windows 10系统一键清理C
    Windows 7与Windows 10系统一键清理C
    1、新建文本文档,重命名文件为“.bat”结尾的文件名,如“clear.bat”,文件内容如下
  • Linux调优工具
    Linux调优工具
    1、系统调优概述 系统的运行状况: CPU-> MEM ->DISK -> NETWORK -> 应用程序调优
Ubuntu 18安装配置X11VNC并使用VNC连接远程桌面使用
Ubuntu 18安装配置X11VNC并使用VNC连
1、安装x11vnc服务,必须使用普通用户进行安装配置,不能使用Root用户操作 2、设置VNC访问密码,使用命令后输入两次密码确认 3、复制文件到指定目录,并运行测试命令进行远程连接测试 4、配置启动文件 5、启动服务配置 6、重启服务器并使用root登录,测试VNC远程连接 以上为Ubuntu 18安装配置X11VNC并使用VNC连接远程桌面使用的简单操作步骤,祝你成功
Windows 7与Windows 10系统一键清理C盘系统空间垃圾文件命令
Windows 7与Windows 10系统一键清理C
1、新建文本文档,重命名文件为“.bat”结尾的文件名,如“clear.bat”,文件内容如下 以上文件选择一个使用即可 以上为Windows 7与Windows 10系统一键清理C盘系统空间垃圾文件命令的简单操作步骤,祝你成功
Linux调优工具
Linux调优工具
1、系统调优概述 系统的运行状况: CPU-> MEM ->DISK -> NETWORK -> 应用程序调优 分析是否有瓶颈(依据当前应用需求) 调优(把错误的调正确,把差的调到最好的) 2、性能优化 性能优化就是找到系统处理中的瓶颈以及去除这些的过程。 性能优化其实是对 OS 各子系统达到一种平衡的定义,这些子系统包括了:CPU ;Memory ;IO ;Network;这些子系统之间关系是相互彼此依赖的,任何一个高负载都会导致其他子系统出现问题。 例如: 大量的网页调入请求导致内存队列的拥塞; 网卡的大吞吐量可能导致更多的 CPU 开销; 大量来自内存的磁盘写请求可能导致更多的 CPU 以及 IO 问题; 所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有可能是别的子系统导致的. 调优就像医生看病,因此需要你对服务器所有地方都了解清楚。 3、CPU状态相关工具 想要调优,想了解系统状态,通过命令和文件都可以反应当前CPU负载的相关情况 查看系统运行相关命令状况: uptime hostname uname -a id who whoami w free top …… 4、查看CPU负载相关工具 # uptime 19:49:06 up 36 days, 6:57, 2 users, load average: 0.21, 0.18, 0.11 uptime命令各个内容解释如下: 19:49:06 当前时间 up 36 days 系统运行时间 ,说明此服务器连续运行50天了 2 users 当前登录用户数 load average: 0.21, 0.18, 0.11 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 负载的数字记得跟你的处理器有关:如果服务器的 CPU 为 1 核心,则 load average 中的数字 >=3 负载过高,如果服务器的 CPU 为 4 核心,则 load average 中的数字 >=12 负载过高。为什么?了解一下处理器处理进程的相关原理 # uptime 19:49:06 up 36 days, 6:57, 2 users, load average: 0.21, 0.18, 0.11 #1分钟 5分钟 15分钟 1,5,15系统平均负载 1分钟的系统负载,指的是1分钟系统中持续运行的进程个数 理论上:单核心,1分钟的系统平均负载不要超过3 /proc目录 通过/proc目录下的文件了解系统实施运行状态 cpuinfo # cat /proc/cpuinfo //CPU参数 processor : 0 #系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核 vendor_id : GenuineIntel #CPU制造商 cpu family : 6 #CPU产品系列代号 model : 62 #CPU属于其系列中的哪一代的代号 model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz #CPU属于的名字及其编号、标称主频 stepping : 4 #CPU属于制作更新版本 microcode : 1064 #BIOS相关 cpu MHz : 2600.092 #CPU的实际使用主频 cache size : 20480 KB #CPU二级缓存大小 physical id : 0 #单个CPU的标号 siblings : 1 #单个CPU逻辑物理核数 core id : 0 #当前物理核在其所处CPU中的编号,这个编号不一定连续 cpu cores : 8 #该逻辑核所处CPU的物理核数 apicid : 0 #用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续 fpu : yes #是否具有浮点运算单元(Floating Point Unit) fpu_exception : yes #是否支持浮点计算异常 cpuid level : 13 #执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容 wp : yes #表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection) flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc up rep_good unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm #当前CPU支持的功能 bogomips : 5200.18 #在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second) clflush size : 64 #每次刷新缓存的大小单位 cache_alignment : 64 #缓存地址对齐单位 address sizes : 46 bits physical, 48 bits virtual #访问地址空间位数 power management: #对能源管理的支持有哪些 …… cpu cores : 8 #8核心 …… processor : 1 …… processor : 7 cmdline # cat /proc/cmdline //获取内核命令行参数 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet 注意这里的/proc/cmdline和/etc/grub.conf的内容一样 # cat /etc/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,0) # kernel /boot/vmlinuz-version ro root=/dev/xvda1 # initrd /boot/initrd-[generic-]version.img #boot=/dev/xvda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img title CentOS (2.6.32-431.23.3.el6.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img diskstats # cat /proc/diskstats //相当于fdisk -l 8 0 sda 6981 5394 439682 76909 750 2301 24402 107850 0 34562 184763 8 1 sda1 591 236 4632 530 3 0 18 88 0 564 618 8 2 sda2 5884 5126 430746 75212 747 2301 24384 107762 0 34085 182980 8 3 sda3 332 31 2904 1051 0 0 0 0 0 1050 1050 11 0 sr0 53 47 536 128 0 0 0 0 0 115 128 # fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00092896 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 1332 10485760 83 Linux /dev/sda3 1332 1462 1048576 82 Linux swap / Solaris 这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称。 filesystems 查看当前系统中可以支持的文件系统类型 ,这个文件列出可供使用的文件系统类型,一种类型一行。虽然它们通常是编入内核的文件系统类型,但该文件还可以包含可加载的内核模块加入的其它文件系统类型。 nodev 表示支持但不存在,没使用 # cat /proc/filesystems …… nodev ramfs nodev hugetlbfs #未使用 iso9660 #使用中 nodev pstore nodev mqueue ext4 #使用中 nodev vmhgfs nodev fuse fuseblk #使用中 nodev fusectl nodev autofs mdstat 查看 raid 设备信息 这个文件包含了由 md 设备驱动程序控制的 RAID 设备信息。 # cat /proc/mdstat Personalities (个性): unused devices: modules lsmod就是从这里读取数据的 ,查看当前内核加载了哪些动态模块: # cat /proc/modules nfs 228929 13 - Live 0xf929e000 ----------------------- 模块名,占用内存,加载次数,是否可用,起始地址? mounts # cat /proc/mounts 这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。这个文件也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。 rootfs / rootfs rw 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 devtmpfs /dev devtmpfs rw,relatime,size=491832k,nr_inodes=122958,mode=755 0 0 devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /dev/shm tmpfs rw,relatime 0 0 /dev/sda2 / ext4 rw,relatime,barrier=1,data=ordered 0 0 /proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0 /dev/sda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 0 /dev/sr0 /media iso9660 ro,relatime 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0 vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0 /etc/auto.misc /misc autofs rw,relatime,fd=7,pgrp=2121,timeout=300,minproto=5,maxproto=5,indirect 0 0 -hosts /net autofs rw,relatime,fd=13,pgrp=2121,timeout=300,minproto=5,maxproto=5,indirect 0 0 gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0 partitions 分区表信息 # cat /proc/partitions major minor #blocks name 8 0 20971520 sda 8 1 204800 sda1 8 2 10485760 sda2 8 3 1048576 sda3 进程ID # ls /proc/ 目录下还有很多数字命名的目录,这些都是进程的ID 1 1926 22 2566 27 2784 286 35 52 76 filesystems mtrr 10 1941 2280 257 270 2785 2860 36 53 77 fs net 1035 1952 23 258 271 2788 2882 37 54 78 interrupts pagetypeinfo 1036 1957 2360 259 272 279 2885 38 55 8 iomem partitions 1083 196 2366 26 2726 2791 29 381 56 80 ioports sched_debug 可以通过进程的ID查到程序的运行绝对路径 # ll /proc/2885/exe lrwxrwxrwx 1 root root 0 Dec 28 11:25 /proc/2885/exe -> /usr/libexec/pulse/gconf-helper 进程 进程的筛选有助于我们了解系统当前的运行状态,以及在后期调优的时候对目前的状态做一个参照数值! 进程列表ps命令 ps 命令:只对具体进程进行观测:# ps -aux 5 个主要进程状态: S --> 睡眠 R --> 正在运行或准备运行 Z --> 僵尸进程 D --> 不可中断的睡眠进程 T --> 停止或者被追踪的进程 L --> (内存锁,防止交换--解决 swap 信息泄漏,锁住内存,防止交换) s --> session header 父子/父子 ----> 父迚程,引导进程 + --> 前台进程组 表示是一组进程,而不是一个进程 l --> 进程,线程 < --> 高优先级进程 N --> 低优先级进程 按内存对进程排序 # ps -aux --sort -rss //去掉-rss是升序 Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2475 1.2 3.8 169112 38184 tty1 Ss+ 11:08 0:16 /usr/bin/Xorg :0 -nr -verbose - root 2764 0.2 2.2 538540 22436 ? S 11:10 0:03 nautilus root 3013 0.0 2.1 402184 21956 ? S 11:10 0:00 /usr/bin/gnote --panel-applet - root 2882 0.0 1.9 324388 19724 ? S 11:10 0:00 python /usr/share/system-config root 2791 0.2 1.7 307692 18060 ? S 11:10 0:03 /usr/lib/vmware-tools/sbin64/vm root 3017 0.0 1.6 466092 16864 ? S 11:10 0:00 /usr/libexec/clock-applet --oaf # ps -aux --sort rss //升序 # ps -aux --sort -pcpu //按CPU降序,去掉-号为升序 # man ps //排序条件帮助 top命令 找出占用CPU时间比较多的进程 (这个命令本身就很消耗CPU时间的) # top top - 11:36:46 up 28 min, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 218 total, 1 running, 216 sleeping, 1 stopped, 0 zombie Cpu(s): 0.9%us, 0.5%sy, 0.0%ni, 98.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1004412k total, 564072k used, 440340k free, 28580k buffers Swap: 1048568k total, 0k used, 1048568k free, 270772k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2475 root 20 0 197m 37m 8968 S 4.3 3.8 0:22.77 Xorg 3052 root 20 0 290m 14m 10m S 2.0 1.5 0:09.91 gnome-terminal 2750 root 20 0 429m 14m 10m S 0.7 1.4 0:01.15 metacity 21 root 20 0 0 0 0 S 0.3 0.0 0:01.45 events/2 0.0%us:用户态 0.0%sy:内核态 0.0%ni:优先级切换 97.6%id:CPU 空闲 2.3%wa:等待,IO 输入输出等待 0.0%hi:硬中断 0.1%si:软中断 0.0%st:CPU 偷窃时间。 如开启虚拟机会出现这种情况 TOP命令的排序:M内存排序,Pcup排序,前后翻页查看进程 动态查看进程 # find / 另开一个终端执行 # vim a.txt 再开一个终端执行 # ps -aux | grep find //拿到PID # ps -aux | grep a.txt //拿到PID # top -p 3284,3259 //动态查看,-p=pid top - 11:47:16 up 39 min, 4 users, load average: 0.09, 0.07, 0.02 Tasks: 2 total, 0 running, 2 sleeping, 0 stopped, 0 zombie Cpu(s): 5.9%us, 5.6%sy, 0.0%ni, 88.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1004412k total, 698264k used, 306148k free, 99668k buffers Swap: 1048568k total, 0k used, 1048568k free, 273068k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3284 root 20 0 109m 1296 936 S 12.3 0.1 0:01.90 find 3259 root 20 0 140m 3940 2652 S 0.0 0.4 0:00.43 vim 1: 10:53:29表示系统给当前时间,up 7 min表示系统运行了多长时间了(分) 2: 当前系统登录的用户数 3: 系统负载平均值,三个值分别为1,5,15分钟的平均值(除于CPU个数不大于1就没有什么影响) 4:多少个任务在运行,总共多少个进程 5:正在运行的进程数 6:休眠的进程数 7:停止的进程数 8:僵尸进程 9:CPU给用户分配了多少 10:CPU给系统分配了多少,内核中的进程占用CPU的百分比 11:调优后进程所占有的CPU百分比 12:空闲进程百分比 21:等待 wait 18:硬中断 19:软中断 最后两行内容是:物理内存总共多少,用了多少,还剩多少,缓冲多少 Swap中国多少,用了多少,海参多少,缓存多少 Notes:top命令后,敲d可以更改刷新时间(默认3s刷新一次) 空格键立即刷新   m按内存排序 P按CPU排序 q退出 kill 控制进程常见信号 HUP 重新加载配置文件,类似重启,立即应用新的配置文件 1 INT 和CTRL+C,用于通知前台进程组终止进程 2 Kill 强行中断 9 Stop 和Ctrl+Z 19 Eg: #kill -9 7678 #killall httpd 与 #pkill httpd 直接杀死httpd相关所有进程 #pidof httpd 查询进程状态和查询进程的pid mpstat命令 这个命令需要安装,由软件包sysstaat提供 # mpstat //所有CPU综合信息 Linux 2.6.32-431.el6.x86_64 (xuegod63.cn) 12/28/2015 _x86_64_ (4 CPU) 11…… AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 11…… AM all 0.35 0.00 0.55 0.64 0.00 0.03 0.00 0.00 98.44 %user 表示处理用户进程所使用 CPU 的百分比。用户进程是用于应用程序(如 Oracle 数据库)的非内核进程。 %nice 表示使用 nice 命令对进程进行降级时 CPU 的百分比。在之前的部分中已经对 nice 命令进行了介绍。简单来说,nice 命令更改进程的优先级。 %sys 表示内核进程使用的 CPU 百分比 %iowait 表示等待进行 I/O 所使用的 CPU 时间百分比 %irq 表示用于处理系统中断的 CPU 百分比 %soft 表示用于软件中断的 CPU 百分比 %idle 显示 CPU 的空闲时间 %intr/s 显示每秒 CPU 接收的中断总数 # mpstat -P ALL //所有CPU运行状态 Linux 2.6.32-431.el6.x86_64 (xuegod63.cn) 12/28/2015 _x86_64_ (4 CPU) 11:57:50 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 11:57:50 AM all 0.31 0.00 0.48 0.56 0.00 0.03 0.00 0.00 98.61 11:57:50 AM 0 0.74 0.00 1.00 1.72 0.01 0.02 0.00 0.00 96.51 11:57:50 AM 1 0.31 0.00 0.57 0.26 0.00 0.09 0.00 0.00 98.77 11:57:50 AM 2 0.13 0.00 0.27 0.16 0.00 0.01 0.00 0.00 99.44 11:57:50 AM 3 0.07 0.00 0.11 0.10 0.00 0.00 0.00 0.00 99.72 # top //执行之后按数字键1 看到内容相似 top - 11:58:57 up 50 min, 4 users, load average: 0.02, 0.01, 0.00 Tasks: 219 total, 1 running, 217 sleeping, 1 stopped, 0 zombie Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1004412k total, 696616k used, 307796k free, 99912k buffers # mpstat -P ALL 1 100 //一秒钟刷新一次 连续刷新 100 次 内存运行状态相关工具 通用查询工具,内存信息查询工具 free命令 # free # free -m //MB单位 total used free shared buffers cached Mem: 980 880 100 0 87 508 -/+ buffers/cache: 285 695 Swap: 1023 0 1023 buffers #内存从磁盘读出的内容 cached #内存需要写入磁盘的内容 当物理内存不够用的时候,内核会把非活跃的数据清空。 # sync //内存和硬盘数据同步 # echo 3 > /proc/sys/vm/drop_caches 清空缓存 执行find会发现buffers增加,dd if=/dev/zero of=a.txt bs=1M count=1024会有cached增加 meminfo文件 通过/proc/meminfo 文件夹,查看非活跃的内存: /proc 文件系统下的多种文件提供的系统信息不是针对某个特定经常的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变。 # cat /proc/meminfo MemTotal: 1004412 kB #总内存 MemFree: 75376 kB #空闲大小 Buffers: 21524 kB #用来给文件做缓冲大小 Cached: 621092 kB #被高速缓冲存储器使用大小 SwapCached: 8 kB #被高速缓冲存储器的交换空间大小 Active: 95520 kB #在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,活跃内存 Inactive: 709552 kB #在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,非活跃内存 Active(anon): 14960 kB #anon不久的意思,刚刚缓存的活跃内存 Inactive(anon): 152148 kB #刚刚缓存的不活跃内存 Active(file): 80560 kB #于文件相关的活跃内存 Inactive(file): 557404 kB #于文件相关的不活跃内存 Unevictable: 0 kB #等待物理内回收大小 Mlocked: 0 kB #被锁定的内存大小 SwapTotal: 1048568 kB #交换空间总大小 SwapFree: 1048560 kB #空闲交换空间 Dirty: 12 kB #等待被写回到磁盘的大小 Writeback: 0 kB #正在被写回的大小 AnonPages: 162464 kB #未映射的页的大小 Mapped: 64628 kB #设备和文件映射的大小 Shmem: 4636 kB #共享内存大小 Slab: 72996 kB #内核数据结构缓存的大小,可减少申请和释放内存带来的消耗 SReclaimable: 38920 kB #可收回slab的大小 SUnreclaim: 34076 kB #不可收回的slab的大小 KernelStack: 2520 kB #内核调试内存大小 PageTables: 18528 kB #管理内存分页的索引表的大小 NFS_Unstable: 0 kB #不稳定页表的大小 …… VmallocTotal: 34359738367 kB #虚拟内存大小 VmallocUsed: 153316 kB #已经被使用的虚拟内存大小 VmallocChunk: 34359578676 kB HardwareCorrupted: 0 kB AnonHugePages: 34816 kB HugePages_Total: 0 #//大页面的分配 HugePages_Free: 0 …… 注:当内存不够用时,kernel总是把不活跃的内存交换到swap空间。如果inactive内存多时,加swap空间可以解决问题,而active多,则考虑加内存。 vmstat命令 命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,MEM内存使用,VMSwap虚拟内存交换情况,IO读写情况。 使用vmstat可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。 比top命令节省资源。 注:当机器运行比较慢时,建议大家使用vmstat查看运行状态,不需要使用top,因top使用资源比较多。 # vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 8 61632 24060 619856 0 0 28 42 47 52 0 0 99 1 0 r 运行状态的进程个数 。展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 b 不可中断睡眠 正在进行i/o等待--阻塞状态的进程个数 进程读取外设上的数据,等待时 free 剩余内存,单位是KB buffers #内存从磁盘读出的内容 cached #内存需要写入磁盘的内容 si swapin swap换入到内存 so swapout 内存换出到swap 换出的越多,内存越不够用 bi blockin 从硬盘往内存读。 单位是块。 把磁盘中的数据读入内存 bo blockout 从内存拿出到硬盘 (周期性的有值) 写到硬盘 注:#判断是读多还是写多,是否有i/o瓶颈 in 系统的中断次数,cpu调度的次数多 cs 每秒的上下文切换速度 注:如果这个数据比较大,说明有大并发的进程或线程在运行。 这种情况下,一般会用大理网络访问请求。 Us 用户进程执行消耗cpu时间(user time) us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 Sy 系统进程消耗cpu时间(system time) sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。 Id 空闲时间(包括IO等待时间) wa 等待IO时间 Wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。 类别 项目 含义 说明 Procs(进程) r 等待执行的任务数 展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 B 等待IO的进程数量 Memory(内存) swpd 正在使用虚拟的内存大小,单位k free 空闲内存大小 buff 已用的buff大小,对块设备的读写进行缓冲 cache 已用的cache大小,文件系统的cache inact 非活跃内存大小,即被标明可回收的内存,区别于free和active 具体含义见:概念补充(当使用-a选项时显示) active 活跃的内存大小 具体含义见:概念补充(当使用-a选项时显示) Swap si 每秒从交换区写入内存的大小(单位:kb/s) so 每秒从内存写到交换区的大小 IO bi 每秒读取的块数(读磁盘) 现在的Linux版本块的大小为1024bytes bo 每秒写入的块数(写磁盘) system in 每秒中断数,包括时钟中断 这两个值越大,会看到由内核消耗的cpu时间会越多 cs 每秒上下文切换数 CPU(以百分比表示) Us 用户进程执行消耗cpu时间(user time) us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 Sy 系统进程消耗cpu时间(system time) sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。 Id 空闲时间(包括IO等待时间) wa 等待IO时间 Wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。 # vmstat 1 20 //每1s更新一次,更新20次 I/O调优相关工具 # tune2fs -l /dev/sda1 | grep size //查看系统块的大小 Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Block size: 1024 #为一个字节,一个扇区有512个字节 Fragment size: 1024 Flex block group size: 16 Inode size: 128 iostat命令 iostat 可以显示CPU和I/O系统的负载情况及每个磁盘分区的读写状态信息. 从而知道我们系统IO 是否存在问题。 sysstat-9.0.4-22.el6.x86_64 同时也提供了iostat命令 # iostat //同时显示CPU和Device段的I/O Linux 2.6.32-431.el6.x86_64 (xuegod63.cn) 12/28/2015 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.14 0.06 0.46 0.62 0.00 98.72 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 7.38 210.38 315.42 2269064 3401932 scd0 0.07 1.06 0.00 11408 0 注释: avg-cpu段: %user: 在用户级别运行所使用的CPU的百分比. %nice: nice操作所使用的CPU的百分比. %sys: 在系统级别(kernel)运行所使用CPU的百分比. %iowait: CPU等待硬件I/O时,所占用CPU百分比. %idle: CPU空闲时间的百分比. Device段: tps: 每秒钟发送到的I/O请求数. Blk_read /s: 每秒读取的block数,这里的block,指的是扇区数,一个扇区大小:512B Blk_wrtn/s: 每秒写入的block数. 这里的block,指的是扇区数,一个扇区大小:512B Blk_read: 读入的block总数. 这里的block,指的是扇区数,一个扇区大小:512B Blk_wrtn: 写入的block总数. 这里的block,指的是扇区数,一个扇区大小:512B # iostat –c //仅仅显示CPU字段 # iostat –d //仅仅显示device字段 -k 以K为单位显示每秒的磁盘请求数,默认单位块.-m为MB -p device | ALL 与-x选项互斥,用于显示块设备及系统分区的统计信息. # iostat -p sda –dk //显示每个分区读写速度 Linux 2.6.32-431.el6.x86_64 (xuegod63.cn) 12/28/2015 _x86_64_ (4 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 7.22 102.80 154.19 1134572 1701770 sda1 0.06 0.22 0.00 2411 18 sda2 7.12 102.39 154.19 1130009 1701752 sda3 0.03 0.13 0.00 1452 0 每列含意: kB_read/s 每秒从驱动器读入的数据量,单位为K. kB_wrtn/s 每秒向驱动器写入的数据量,单位为K. kB_read 读入的数据总量,单位为K. kB_wrtn 写入的数据总量,单位为K. # iostat -x -d –m //-x输出拓展信息 Linux 2.6.32-431.el6.x86_64 (xuegod63.cn) 12/28/2015 _x86_64_ (4 CPU) Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util sda 1.52 37.14 6.08 1.09 0.10 0.15 71.12 0.32 45.00 4.39 3.14 scd0 0.18 0.00 0.07 0.00 0.00 0.00 14.68 0.00 0.46 0.43 0.00 rrqm/s 将读入请求合并后,每秒发送到设备的读入请求数. wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数. r/s 每秒发送到设备的读入请求数. w/s 每秒发送到设备的写入请求数. rsec/s 每秒从设备读入的扇区数. wsec/s 每秒向设备写入的扇区数. rkB/s 每秒从设备读入的数据量,单位为K. wkB/s 每秒向设备写入的数据量,单位为K. avgrq-sz 发送到设备的请求的平均大小,单位是扇区. avgqu-sz 发送到设备的请求的平均队列长度. await I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒. svctm 发送到设备的I/O请求的平均执行时间.单位是毫秒. %util 在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率,当这个值接近100%时,表示设备带宽已经占满. I/O不够使用。Util含义 iostat其它用法: # iostat -d -k 2 // 每隔2秒,显示一次设备统计信息. 以k为单位 # iostat -d 2 6 // 每隔2秒,显示一次设备统计信息.总共输出6次. # iostat -x hda hdb 2 6 //每隔2秒显示一次hda,hdb两个设备的扩展统计信息,共输出6次. # iostat -p sda 2 6 //每隔2秒显示一次sda及上面所有分区的统计信息,共输出6次. iotop命令 iotop命令,查看哪个进程使用磁盘读写最多 参数: -o, –only 只显示在读写硬盘的程序 -d SEC, –delay=SEC 设定显示时间间隔 退出,按q或ctrl+C # yum install -y iotop //命令安装 # iotop -o -d 1 //显示正在使用磁盘的进程,另外执行find Total DISK READ: 99.13 K/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 45249 be/4 root 99.13 K/s 0.00 B/s 0.00 % 11.38 % find / 3052 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % gnome-terminal -x …… 可以看到DISK READ 速度飙升,IO比例增大 # iotop //不加参数,动态查看所有进程使用磁盘的状态 Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 2656 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % dbus-launch --sh-s~-exit-with-session 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0] 4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0] 6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0] 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1] 8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1] 10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1] 11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2] 12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2] 13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/2] 网络调优相关工具 # netstat –antup //查看网络侦听端口 -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令。 1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN./* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ 2)、 SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT./*The socket is actively attempting to establish a connection. 在发送连接请求后等待匹配的连接请求 */ 3)、 SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */ 4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户 */ 5)、 FIN_WAIT1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态./* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认 */ 6)、CLOSE_WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT./* The remote end has shut down, waiting for the socket to close. 等待从本地用户发来的连接中断请求 */ 7)、FIN_WAIT2:主动关闭端接到ACK后,就进入了 FIN-WAIT-2 ./* Connection is closed, and the socket is waiting for a shutdown from the remote end. 从远程TCP等待连接中断请求 */ 8)、LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK ./* The remote end has shut down, and the socket is closed. Waiting for acknowledgement. 等待原来发向远程TCP的连接中断请求的确认 */ 9)、TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。/* The socket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认 */ 10)、CLOSING: 比较少见./* Both sockets are shut down but we still don’t have all our data sent. 等待远程TCP对连接中断的确认 */ 11)、CLOSED: 被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束./* The socket is not being used. 没有任何连接状态 */ 12)、UNKNOWN: 未知的Socket状态。/* The state of the socket is unknown. */ SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。 ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。 FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接收后续数据。 sar命令 sysstat-9.0.4-18.el6.x86_64.rpm 此命令有此软件包体提供,sysstat 工具包可以把检查到的信息保存下来! 存在/var/log/sa目录下,文件名为sa当前日期,sar 默认显示每10分钟统计一次状态信息 (从装sysstat包开始) # ll /var/log/sa -rw-r--r--. 1 root root 3968 Dec 7 16:16 sa07 -rw-r--r-- 1 root root 44424 Dec 28 14:20 sa28 -rw-r--r--. 1 root root 105 Dec 7 23:53 sar07 sar 默认显示每10分钟统计一次状态信息 (从装sysstat包开始) sar 命令行的常用格式: sar [options] [-A] [-o file] t [n] 在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多, -A:所有报告的总和。 -n:网络接口的情况。 -u:CPU利用率 -v:进程、I节点、文件和锁表状态。 -d:硬盘使用报告。 -r:没有使用的内存页面和硬盘块。 -g:串口I/O的情况。 -b:缓冲区使用情况。 -a:文件读写情况。 -c:系统调用情况。 -R:进程的活动情况。 -y:终端设备活动情况。 -w:系统交换活动。 -o 文件名:打印到屏幕并将采样结果以二进制形式存入当前目录下的文件中。 -f 文件名:查看之前保存的二进制文件。 -d 显示磁盘 -d 1 100 #每1秒统计一次磁盘信息,统计100次。 -c 每秒创建进程的个数 -i 1 10 指定时间间隔 -P 查看cpu -r 查看内存 -w 每秒上下文切换次数 -o /cpu.sar 保存并显示 -f cpu.sar 读取 # sar -u 2 5 -o cpu.sar //每2秒采样一次,连续采样5次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件cpu.sar中,屏幕显示内容,同时内容也会写到cpu.sar中 Linux 2.6.32-431.el6.x86_64 (xuegod63.cn) 12/28/15 _x86_64_ (4 CPU) 14:47:21 CPU %user %nice %system %iowait %steal %idle 14:47:23 all 0.63 0.00 0.76 0.13 0.00 98.49 14:47:25 all 0.00 0.00 0.38 0.00 0.00 99.62 14:47:27 all 0.00 0.00 0.50 0.13 0.00 99.37 14:47:29 all 0.00 0.00 0.25 0.12 0.00 99.63 14:47:31 all 0.12 0.00 0.25 0.12 0.00 99.50 Average: all 0.15 0.00 0.43 0.10 0.00 99.32 %usr:CPU处在用户模式下的时间百分比。 %sys:CPU处在系统模式下的时间百分比。 %wio:CPU等待输入输出完成时间的百分比。 %idle:CPU空闲时间百分比。 在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。 # sar -f cpu.sar // sar命令即可以实时采样,又可以对以往的采样结果进行查询。 # vim /etc/cron.d/sysstat # Run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib64/sa/sa1 1 1 #关于磁盘的 # 0 * * * * root /usr/lib64/sa/sa1 600 6 & # Generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib64/sa/sa2 -A #所有报告综合 生产成的位置在/var/log/sa/下 # sar -n DEV -f /var/log/sa/sa28 //-n 网卡信息 11:10:02 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 11:20:01 lo 0.01 0.01 0.00 0.00 0.00 0.00 0.00 11:20:01 eth0 7.23 0.10 0.55 0.01 0.00 0.00 0.00 11:20:01 pan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:30:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:30:01 eth0 6.39 0.06 0.50 0.00 0.00 0.00 0.00 11:30:01 pan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:40:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:40:01 eth0 4.43 0.05 0.36 0.00 0.00 0.00 0.00 11:40:01 pan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:50:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:50:01 eth0 5.32 0.09 0.44 0.01 0.00 0.00 0.00 扩展: # sar -r -f /var/log/sa/sa27 # sar -b -f /var/log/sa/sa27 # sar -f /var/log/sa/sa27 动态查看: sar 1 //默认显示CPU状态,1秒显示一次 sar 1 10 sar -P 0 1 10 sar最大特点是可以监控所有状态 sar -r 1 //查看内存 sar -n ALL //查看所有 sar -b 1 10 sar -I irq# sar -I ALL 1 0 sar -r -f /tmp/file -n -r -b -m sar -s 15:00:00 -e 15:30:00 sar -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01 //读取一个时间段的监控信息 sar -r -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01 # sar -q -f /var/log/sa/sa24 //显示时间负载具体 # LANG=C;sar -q -f /var/log/sa/sa24 //显示24小时制,有的情况不限时24 以上就是调优相关工具的使用,祝你成功
  • hanhongwen
    Ubuntu 18安装配置X11VNC并使
    1、安装x11vnc服务,必须使用普通用户进行安装配置,不能使用Root用户操作 2、设置VNC访问密码,使用命令后输入两次密码确认 3、复制文件到指定目录,并运行测试命令进行远程连接测试 4、配置启动文件 5、启动服务配置 6、重启服务器并使用root登录,测试VNC远程连接 以上为Ubuntu 18安装配置X11VNC并使用VNC连接远程桌面使用的简单操作步骤,祝你成功

今日: 0|昨日: 0|帖子: 1374|会员: 2851|欢迎新会员: DerrickHeexy

Linux-基础知识
Linux-基础知识
主题:35帖数:45
最新: 2020-2-15 03:11
Linux-常用命令
Linux-常用命令
主题:10帖数:10
最新: 2019-12-31 10:36
Linux-常用服务搭建
Linux-常用服务搭建
主题:62帖数:64
最新: 2020-1-7 15:47
Linux-虚拟化技术
Linux-虚拟化技术
主题:9帖数:11
最新: 2019-12-15 22:20
Linux-大数据
Linux-大数据
主题:4帖数:4
最新: 2020-1-22 16:07
Linux-云计算
Linux-云计算
主题:7帖数:7
最新: 2020-1-7 12:04
Linux-问题解决方案
Linux-问题解决方案
主题:30帖数:34
最新: 2020-1-8 12:40
Linux-网站报错
Linux-网站报错
主题:6帖数:6
最新: 2017-8-28 14:18
Python-软件安装
Python-软件安装
主题:25帖数:26
最新: 2020-1-19 00:04
Python-Flask
Python-Flask
主题:4帖数:4
最新: 2018-9-4 23:44
Python-Django
Python-Django
主题:2帖数:2
最新: 2018-2-5 10:39
Python-Ansible
Python-Ansible
主题:1帖数:1
最新: 2017-7-15 01:39
Python-Saltstack
Python-Saltstack
主题:1帖数:1
最新: 2017-7-15 01:40
Python-大数据
Python-大数据
主题:1帖数:1
最新: 2017-11-29 15:17
Python-人工智能
Python-人工智能
主题:1帖数:1
最新: 2017-7-15 01:38
Python-问题解决方案
Python-问题解决方案
主题:17帖数:18
最新: 2020-1-15 17:56
云计算-Openstack
云计算-Openstack
主题:1帖数:1
最新: 2017-11-29 15:18
云计算-Docker
云计算-Docker
主题:7帖数:7
最新: 2018-4-18 22:35
云计算-Hadoop
云计算-Hadoop
主题:1帖数:1
最新: 2017-11-29 15:20
云计算-Spark
云计算-Spark
主题:1帖数:1
最新: 2017-12-2 01:03
云计算-Kubernetes
云计算-Kubernetes
主题:1帖数:1
最新: 2017-11-29 15:21
云计算-KVM
云计算-KVM
主题:2帖数:2
最新: 2019-12-5 16:14
云计算-MQ
云计算-MQ
主题:1帖数:1
最新: 2017-11-29 15:21
云计算-Problems Solution
云计算-Problems Solution
主题:3帖数:3
最新: 2018-6-22 23:10
Database-Mysql&Mariadb
Database-Mysql&Mariadb
主题:10帖数:11
最新: 2019-12-26 18:36
Database-Sql Server
Database-Sql Server
主题:2帖数:2
最新: 2017-10-21 20:17
Database-Mongodb
Database-Mongodb
主题:1帖数:1
最新: 2017-8-31 02:52
Database-Postgresql
Database-Postgresql
主题:2帖数:2
最新: 2017-11-30 18:34
Database-NoSQL&NewSQL
Database-NoSQL&NewSQL
主题:6帖数:6
最新: 2018-8-22 23:15
Database-Oracle
Database-Oracle
主题:7帖数:7
最新: 2017-10-26 13:43
Database-常用命令
Database-常用命令
主题:3帖数:3
最新: 2018-11-2 21:15
Database-问题解决方案
Database-问题解决方案
主题:14帖数:14
最新: 2018-4-21 11:15
Windows-基础知识
Windows-基础知识
主题:16帖数:16
最新: 2019-12-31 15:25
Windows-常用命令
Windows-常用命令
主题:5帖数:6
最新: 2020-2-15 11:29
Windows-常用服务搭建
Windows-常用服务搭建
主题:22帖数:24
最新: 2019-12-7 23:16
Windows-虚拟化技术
Windows-虚拟化技术
主题:8帖数:8
最新: 2017-8-31 02:45
Windows-大数据
Windows-大数据
主题:2帖数:2
最新: 2017-9-2 16:51
Windows-云计算
Windows-云计算
主题:3帖数:4
最新: 2018-9-20 23:29
Windows-问题解决方案
Windows-问题解决方案
主题:19帖数:22
最新: 2019-12-31 17:02
Windows-网站报错
Windows-网站报错
主题:13帖数:14
最新: 2018-9-21 19:50
收起/展开

PHP

PHP-软件安装
PHP-软件安装
主题:7帖数:8
最新: 2018-7-25 00:19
PHP-基础知识
PHP-基础知识
主题:4帖数:4
最新: 2018-2-23 13:53
PHP-常用代码
PHP-常用代码
主题:1帖数:1
最新: 2017-7-15 01:43
PHP-模块安装
PHP-模块安装
主题:3帖数:3
最新: 2018-10-1 20:10
PHP-模板网站
PHP-模板网站
主题:3帖数:3
最新: 2018-2-25 00:59
PHP-问题解决方案
PHP-问题解决方案
主题:11帖数:11
最新: 2018-7-25 06:17
  
环境配置-基础环境
环境配置-基础环境
主题:6帖数:6
最新: 2018-11-20 23:38
环境配置-开发环境
环境配置-开发环境
主题:3帖数:3
最新: 2018-11-21 00:02
环境配置-参数设置
环境配置-参数设置
主题:5帖数:5
最新: 2018-10-1 22:14
环境配置-安装配置
环境配置-安装配置
主题:13帖数:13
最新: 2018-4-14 11:34
环境配置-问题解决方案
环境配置-问题解决方案
主题:14帖数:14
最新: 2018-11-21 00:05
   
物联网-架构设计
物联网-架构设计
主题:1帖数:1
最新: 2018-2-10 10:17
物联网-架构开发
物联网-架构开发
主题:1帖数:1
最新: 2018-2-10 10:18
物联网-架构管理
物联网-架构管理
主题:1帖数:1
最新: 2018-2-10 10:18
物联网-ServerLess
物联网-ServerLess
主题:0帖数:0
最新: 从未
物联网-架构解决方案
物联网-架构解决方案
主题:1帖数:1
最新: 2018-2-10 10:19
   
边缘计算-云计算
边缘计算-云计算
主题:1帖数:1
最新: 2017-12-6 08:24
边缘计算-大数据
边缘计算-大数据
主题:1帖数:1
最新: 2017-12-6 08:23
边缘计算-人工智能
边缘计算-人工智能
主题:1帖数:1
最新: 2017-12-6 08:23
边缘计算-物联网
边缘计算-物联网
主题:1帖数:1
最新: 2017-12-6 08:22
边缘计算-ServerLess
边缘计算-ServerLess
主题:0帖数:0
最新: 从未
边缘计算-技术开发
边缘计算-技术开发
主题:1帖数:1
最新: 2017-12-6 08:24
边缘计算-解决方案
边缘计算-解决方案
主题:1帖数:1
最新: 2018-2-9 22:38
 
云安全-网络安全
云安全-网络安全
主题:1帖数:1
最新: 2017-12-5 01:24
云安全-系统安全
云安全-系统安全
主题:2帖数:2
最新: 2018-4-14 21:26
云安全-软件安全
云安全-软件安全
主题:1帖数:1
最新: 2017-12-5 01:25
云安全-数据安全
云安全-数据安全
主题:1帖数:1
最新: 2017-12-5 01:25
云安全-运营安全
云安全-运营安全
主题:1帖数:1
最新: 2017-12-5 01:26
云安全-存储安全
云安全-存储安全
主题:1帖数:1
最新: 2017-12-5 01:26
云安全-安全解决方案
云安全-安全解决方案
主题:1帖数:1
最新: 2018-2-9 22:33
 
JAVA-JDK
JAVA-JDK
主题:2帖数:2
最新: 2017-11-30 19:51
JAVA-安装配置
JAVA-安装配置
主题:2帖数:2
最新: 2017-10-21 15:06
JAVA-Tomcat
JAVA-Tomcat
主题:1帖数:1
最新: 2017-11-29 14:02
JAVA-常用命令
JAVA-常用命令
主题:1帖数:1
最新: 2017-7-15 01:45
JAVA-智能开发
JAVA-智能开发
主题:1帖数:1
最新: 2018-2-9 22:58
JAVA-问题解决方案
JAVA-问题解决方案
主题:1帖数:1
最新: 2017-7-15 01:46
  
苹果开发-MAC
苹果开发-MAC
主题:5帖数:5
最新: 2020-1-1 17:29
苹果开发-IOS
苹果开发-IOS
主题:2帖数:2
最新: 2018-2-11 22:58
苹果开发-开发模块
苹果开发-开发模块
主题:3帖数:3
最新: 2018-2-11 21:22
苹果开发-二次开发
苹果开发-二次开发
主题:3帖数:3
最新: 2020-1-1 17:14
苹果开发-人工智能
苹果开发-人工智能
主题:1帖数:1
最新: 2018-1-1 18:29
苹果开发-问题解决方案
苹果开发-问题解决方案
主题:3帖数:3
最新: 2020-1-1 15:40
  
路由交换-常用命令
路由交换-常用命令
主题:1帖数:1
最新: 2017-7-15 01:48
路由交换-Cisco
路由交换-Cisco
主题:1帖数:1
最新: 2017-11-29 14:03
路由交换-HuaWei
路由交换-HuaWei
主题:2帖数:2
最新: 2019-10-26 13:52
路由交换-H3C
路由交换-H3C
主题:1帖数:1
最新: 2017-11-29 14:04
路由交换-TP-Link
路由交换-TP-Link
主题:1帖数:1
最新: 2017-11-29 14:08
路由交换-VPN
路由交换-VPN
主题:1帖数:1
最新: 2018-9-20 00:08
路由交换-实用配置
路由交换-实用配置
主题:1帖数:1
最新: 2017-7-15 01:49
路由交换-问题解决方案
路由交换-问题解决方案
主题:1帖数:1
最新: 2017-7-15 01:50
面试分享-Linux
面试分享-Linux
主题:2帖数:2
最新: 2017-8-27 23:54
面试分享-Windows
面试分享-Windows
主题:1帖数:1
最新: 2017-10-21 21:35
面试分享-Python
面试分享-Python
主题:1帖数:1
最新: 2017-8-27 23:37
面试分享-Database
面试分享-Database
主题:1帖数:1
最新: 2017-10-21 11:15
面试分享-Development
面试分享-Development
主题:1帖数:1
最新: 2017-10-21 11:16
面试分享-Security
面试分享-Security
主题:1帖数:1
最新: 2017-10-21 11:16
面试分享-资源分享
面试分享-资源分享
主题:1帖数:1
最新: 2018-2-22 00:02
优惠券分享
优惠券分享
主题:13帖数:181
最新: 2019-8-27 10:52
联系方式
联系方式
主题:2帖数:2
最新: 2017-10-26 12:30
版主申请
版主申请
主题:2帖数:2
最新: 2018-2-10 10:30
论坛公告
论坛公告
主题:11帖数:12
最新: 2019-12-29 23:37
提交意见
提交意见
主题:3帖数:3
最新: 2018-3-11 12:03
收起/展开

在线会员 - 120 人在线 - 0 会员(0 隐身), 120 位游客 - 最高记录是 8732018-2-9.

管理员       超级版主       版主       会员      
  • 当前只有游客或隐身会员在线
返回顶部