内核
  • Linux

    技术项目 – Linux Swap

    Linux 是一个非常棒操作系统。几乎所有的更新中,它都在不断的完善中。 现在已经呈现出:从小到手机,大到超级计算机,无处不在运行着Linux。而其平均每8个星期就会有新的版本发行出来,并且伴随着很大的变化。对于生产环 境中的服务器,这通常会造成一些技术上的苦恼以及问题。我们也会在文章讨论到这些问题。

    继续阅读
  • Linux

    TCP/IP 协议栈调试

    虽然我们大家对TCP/IP很熟悉,但是很少有人正真地了解它是如何工作的,更不用说如何合理地对其进行调试或故障排除。TCP/IP是核心的网络协议,整个互联网以及每个使用互联网的人每天都在用这些协议。这些协议引导着数据如何在网络上移动,自30年前互联网移动到TCP/IP协议之后,它一直都工作的很好。

    继续阅读
  • Linux

    Linux TCP 回收与重用

    Linux 内核有两个重要的设置,对于每秒处理上千个连接的高流量站点而言,是很有用处的,这两个设置就是tcp_tw_recycle 和tcp_tw_reuse。这些内核设置允许我们在有新的客户端连接时重新使用套接字(文件描述符)。尽管这两个设置看起来很相似,其实却是截然不同的,若不进行慎重的管理,内核会很快用完所有套接字并且会丢失相关的用户数据。由于客户端连接和断开有许多方式,所以,正如您所知道的,TCP/IP 也有多种状态。这些状态在netstat中是很明显的,如SYN_SENT、ESTABLISHED, 还有很流行的TIME_WAIT, 还有其它许多不常见的状态。

    继续阅读
  • Linux

    来自Killer内核配置改变的威胁–Swappiness

    我们受到非黑客攻击,是Linux内核版本3.5-rc1以及RedHat backport补丁应对swappiness=0。这是一种真实的威胁,我们一名客户受到影响,被利用OOM机制使得MySQL主数据库服务器崩溃。这个对内核的“微小”改变导致系统不能适当进行Swap,直接导致OOM机制杀掉MySQL进程。这就对如下解释产生怀疑:系统已拥有128GB内存,很多内存处于空闲状态,同时拥有128GB的空闲虚拟内存,所以在任何情况下都不该启动OOM机制。

    继续阅读
  • Linux

    Linux 使用Deadline 磁盘调优

    磁盘在云环境中正变得很有意思。从之前传统的旋转式磁盘发展到,包括缓存RAID控制器、SSD、云磁盘和EBS、docker挂载等等。但对许多大型系统来说I/O 性能仍然是关注的重点,包括数据库、日志处理、缓存等。

    继续阅读