时间:2023-01-31来源:系统屋作者:zhijie
系统调试
对于 Web 调试,curl 和 curl -I 很方便灵活,或者也可以使用它们的同行 wget,或者更现代的 httpie。
要了解磁盘、CPU、网络的状态,使用 iostat,netstat,top(或更好的 htop)和(特别是)dstat。它们对于快速获知系统中发生的状况很好用。
对于更深层次的系统总览,可以使用 glances。它会在一个终端窗口中为你呈现几个系统层次的统计数据,对于快速检查各个子系统很有帮助。
要了解内存状态,可以运行 free 和 vmstat,看懂它们的输出结果吧。特别是,要知道“cached”值是Linux内核为文件缓存所占有的内存,因此,要有效地统计“free”值。
Java 系统调试是一件截然不同的事,但是对于 Oracle 系统以及其它一些 JVM 而言,不过是一个简单的小把戏,你可以运行 kill -3 《pid》,然后一个完整的堆栈追踪和内存堆的摘要(包括常规的垃圾收集细节,这很有用)将被转储到stderr/logs。
使用 mtr 作路由追踪更好,可以识别网络问题。
对于查看磁盘满载的原因,ncdu 会比常规命令如 du -sh * 更节省时间。
要查找占用带宽的套接字和进程,试试 iftop 或 nethogs 吧。
(Apache附带的)ab工具对于临时应急检查网络服务器性能很有帮助。对于更复杂的负载测试,可以试试 siege。
对于更仔细的网络调试,可以用 wireshark,tshark 或 ngrep。
掌握 strace 和 ltrace。如果某个程序失败、挂起或崩溃,而你又不知道原因,或者如果你想要获得性能的大概信息,这些工具会很有帮助。注意,分析选项(-c)和使用 -p 关联运行进程。
掌握 ldd 来查看共享库等。
知道如何使用 gdb 来连接到一个运行着的进程并获取其堆栈追踪信息。
使用 /proc。当调试当前的问题时,它有时候出奇地有帮助。样例:/proc/cpuinfo,/proc/xxx/cwd,/proc/xxx/exe,/proc/xxx/fd/,/proc/xxx/smaps。
当调试过去某个东西为何出错时,sar 会非常有帮助。它显示了 CPU、内存、网络等的历史统计数据。
对于更深层的系统和性能分析,看看 stap (SystemTap),perf) 和 sysdig 吧。
确认是正在使用的 Linux 发行版版本(支持大多数发行版):lsb_release -a。
每当某个东西的行为异常时(可能是硬件或者驱动器问题),使用dmesg。
2023-01-31
Linux系统如何在Git里撤销操作2023-01-30
Linux替换硬盘已挂载目录的技巧2023-01-30
Fedora 21升级Fedora 22的方法使用DenyHosts能够进行自动屏ip的功能,掌握DenyHosts在Linux系统中的安装是很有必要的,那么在Linux系统中要如何安装DenyHosts工具呢?安装后又要如何配置呢?这都是用户需要学习的。...
2023-01-30
在使用vps安装Linux系统后,发现可用分区不足,这主要是vps安装后没有进行相关配置所致,下面小编就给大家介绍下Linux vps系统盘如何分区,深感分区不同的朋友可以来学习下。...
2023-01-30