标签归档:Redhat

redhat5、redhat6安装HP DL380 DL580 G5 G6服务器网卡驱动步骤

Installing the RPM Package

  1. This package requires a build environment. Please refer to the
    “Build Environment Setup” Section before proceding to the next step.
  2. Install the source RPM package. rpm -ivh hp-e1000e-.src.rpm
  3. Build the binary RPM for the e1000e driver. RHEL 5: rpmbuild -bb /usr/src/redhat/SPECS/hp-e1000e.spec RHEL 6: rpmbuild -bb ~/rpmbuild/SPECS/hp-e1000e.spec SLES: rpmbuild -bb /usr/src/packages/SPECS/hp-e1000e.spec If you get an error during the build process, refer to the
    “Build Environment Setup” section. NOTE: One can build binary RPM for a specfic kernel flavor as follows: rpmbuild -bb SPECS/hp-e1000e.spec –define “KVER ” NOTE: RHEL 5 x86 installations require the “–target” switch when
    building on Intel compatible machines. Please see the “Caveats”
    section below for more details. rpmbuild –target=i686 -bb /usr/src/redhat/SPECS/hp-e1000e.spec
  4. Check for the existence of a current version of the e1000e package as follows: RHEL rpm -q kmod-hp-e1000e- SLES rpm -q hp-e1000e-kmp- If an old version of the package exists, the RPM package should be
    removed. Remove the corresponding tools package before removing
    driver package. RHEL rpm -e kmod-hp-e1000e- SLES rpm -e hp-e1000e-kmp- Verify if the old hp-e1000e package has been removed as follows: RHEL rpm -q kmod-hp-e1000e- SLES rpm -q hp-e1000e-kmp-
  5. Install the new binary RPM package. RHEL 5 rpm -ivh \ /usr/src/redhat/RPMS//kmod-hp-e1000e–..rpm RHEL 6 rpm -ivh \ ~/rpmbuild/RPMS//kmod-hp-e1000e–..rpm The modules are installed in the following directory:
    /lib/modules//extra/hp-e1000e Note: The “–nodeps” switch is required when installing on RHEL 5.5. See
    “Caveats” section below for more details. rpm -ivh \ /usr/src/redhat/RPMS//kmod-hp-e1000e–..rpm –nodeps SLES rpm -ivh RPMS//hp-e1000e-kmp–..rpm The modules are installed in the following directory:
    /lib/modules//updates/hp-e1000e
  6. Configure your network setting and address. You may need to refer to your
    Linux vendor documentation. Helpful network configuration tools such as
    “yast2” in SLES or linuxconf/redhat-config-network/netconfig in Red Hat
    exist for easy configuration.

For SLES, user may have to specify the module as e1000e while configuring
the network. The module can be specified in Hardware Details of Advanced
configuration

  1. Ensure that the /etc/modules.conf file is configured similar to the example
    listed below. The example below is presented as if more than one adapter is
    present. If so, one eth# instance should exist for each ethernet port. Refer to
    the modules.conf man page for more information. alias eth0 e1000e
    alias eth1 e1000e

For SLES, the configuration file is /etc/modprobe.conf or /etc/modprobe.conf.local

  1. You can now reboot your server or restart the network services. Upon reboot
    the network should start with the e1000e driver loaded

To verify that the e1000e driver is loaded use the following command.

# lsmod

You should find e1000e listed. You can also verify if the correct e1000e driver is
loaded through any of the following methods. Note that version of the driver loaded
should be same as that of the package version.

A. Look for driver load messages in the system log.

#dmesg | grep Intel

You should see messages of the following type,

Intel(R) PRO/1000 Network Driver - version x.x.x

B. Check the /var/log/messages file for a similar message as indicated in method A.

Note: To load the driver from command line use ‘modprobe’ instead of ‘insmod’.
Refer to the man pages for lsmod, ifconfig, rmmod, insmod, modprobe, modules.conf
and modprobe.conf for more detailed information.

Uninstalling the RPM

The following command will uninstall the RPM.

Red Hat
# rpm -e kmod-hp-e1000e-<kernel flavor>

SLES
# rpm -e hp-e1000e-kmp-<kernel flavor>

Limitations

Some Linux distributions may not add the default route back to a specified network
device when a network stop/start command is used. Use the route command to add the
default router back to the network device.

Some Linux distributions may not add the default assigned IP address back to a
specified network device when using the following:

ifconfig eth(x) down
rmmod <module name>
insmod <module name> <optional parameter changes>
ifconfig eth(x) up

Another step to reassign the IP address back to the device may be required:

ifconfig eth(x) <ip address>

Some Linux distributions may add multiple IP addresses with the same system name in
the /etc/hosts file when configuring multiple network devices.

HP服务器redhat操作系统升级网卡驱动的方法

现有一台HP DL580 G7服务器,redhat linux5.6 64位操作系统,需要升级网卡驱动,步骤如下:

1、安装源RPM包
#rpm -ivh hp-nx_nic-xxx.src.rpm
2、为hp-nx-nic和hp-nx_nic-tools软件包构建二进制RPM
#rpmbuild -bb /usr/src/redhat/SPECS/hp-nx_nic.spec
3、检查是否已存在现有版本的nx_nic软件包
#rpm -q kmod-hp-nx_nic-<flavor>
如果存在旧版本,需要删除
#rpm -e kmod-hp-nx_nic-<flavor>
验证是否已经被删除
#rpm -q kmod-hp-nx_nic-<flavor>
然后删除相应的工具包
#rpm -e hp-nx_nic-tools
4、验证是否有旧版本的nx_nic或者netxen_nic加载到内核中
#lsmod |grep nx_nic
或者
#lsmod |grep netxen_nic
删除驱动前需要将网口down掉
#ifconfig eth<n> down
然后删除驱动
#modprobe -r nx_nic
或者
#modprobe -r netxen_nic
5、安装相关的hp-nx_nic-tools版本,然后再安装驱动程序包
#rpm -ivh /usr/src/redhat/RPMS/<arch>/hp-nx_tools-<version>-<arch>.rpm
6、安装新的二进制驱动程序RPM软件包
#rpm -ivh /usr/src/redhat/RPMS/<arch>/kmod-hp-nx_nic-<flavor>-<version>.<arch>.rpm
7、运行modinfo nx_nic并验证驱动程序版本
#modinfo nx_nic
8、运行modprobe nx_nic以安装新的nx_nic驱动
#modprobe nx_nic
9、完成

升级网卡固件版本,可以参考https://www.eumz.com/2021-01/2120.html

HP服务器升级网卡固件、驱动来解决网卡bug的操作办法

现有一台HP DL580 G7服务器,运行redhat linux5.6 64位操作系统,突然出现宕机现象,重启后查看/var/log/messages,发现有:interface1 kernel:eth0:firmware hang detected相关信息,考虑到HP G7的服务器曾经出现过网卡BUG,再通过ethtool -i eth0查看网卡固件版本,发现是固件版本是4.0.555,需要升级固件。

HP DL580 G7服务器的网卡由QLogic代工,这个网卡的固件存在缺陷,在流量过载或正常情况下也会出现网卡驱动崩溃的情况,会导致服务器宕机,需要更新固件。并且使用该型号NC375i的服务器都会受影响,比如HP DL370 G6、HP DL585 G7、HP DL980 G7等型号。

本次升级固件、驱动需要使用引导盘smartstart8.7、网卡固件文件CP016410.scexe、网卡驱动文件hp-nx_nic-4.0.590-2.src.rpm。

引导盘smartstart8.7下载链接:https://downloads.hpe.com/pub/softlib2/software1/cd/p1760479716/v71252/smartstart-8.70B-0-x64.zip
网卡固件文件CP016410.scexe,可下载Smart Update Firmware DVD10.10,可参考链接:
https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_4372f442c3424063809e3d9198
网卡驱动文件hp-nx_nic-4.0.590-2.src.rpm下载链接:
https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p280489831/v80579/hp-nx_nic-4.0.590-2.src.rpm

升级固件的步骤如下:
1、使用引导盘smartstart8.7引导,进入下图界面时,按Ctrl+Alt+F1,进入再按回车,进入命令行界面。

2、将带有固件文件的U盘插入,在命令行下使用fdisk -l命令查看U盘路径,下图中U盘在/dev/sda1。

3、通过mount /dev/sda1 /mnt挂载U盘,进入/mnt目录,执行命令 ./CP016410.scexe升级固件,按y进行升级,升级完成后执行命令reboot重启服务器,进入操作系统。

4、进入操作系统,使用命令ethtool -i eth0查看固件版本,发现固件版本已由4.0.555升级到4.0.585,此时可以正常ping通网关,网络正常。
5、再升级网卡驱动,升级网卡驱动详见:https://www.eumz.com/2021-01/2127.html

redhat6.5使用ntfs格式U盘的方法

linux系统对于fat32一般默认就可以识别使用,但是对于ntfs需要安装ntfs-3g来使用。

如果配置好yum,则通过命令yum install ntfs-3g即可。

如果没有配置yum,需要先安装gcc,再安装ntfs-3g。

安装gcc可以参见这篇文章:https://www.eumz.com/2020-08/1958.html

安装好gcc后,下载ntfs-3g,可以通过这个链接下载:https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz

将安装包上传到/opt目录,解压tar -zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz

进入到解压缩的目录下:
#cd ntfs-3g_ntfsprogs-2017.3.23
# ./configure
#make
#make install

插入ntfs格式U盘,fdisk -l查看,比如是/dev/sdb1
#mkdir /ntfs
#mount -t ntfs-3g /dev/sdb1 /ntfs

配置完成。

redhat6.5安装gcc编译器

首先挂在安装镜像:
# mount -o loop rhel-server-6.5-x86_64-dvd.iso /mnt

然后按照顺序安装即可:
# cd /mnt/Packages
# rpm -ivh glibc-common-xx.x86_64.rpm
# rpm -ivh kernel-headers-xx.x86_64.rpm
# rpm -ivh libgcc-xx.x86_64.rpm
# rpm -ivh glibc-xx.x86_64.rpm
# rpm -ivh libgomp-xx.x86_64.rpm
rpm -ivh nscd-xx.el6.x86_64.rpm
# rpm -ivh glibc-headers-xx.el6.x86_64.rpm
# rpm -ivh glibc-devel-xx.el6.x86_64.rpm
# rpm -ivh mpfr-xx.el6.x86_64.rpm
# rpm -ivh ppl-xx.el6.x86_64.rpm
# rpm -ivh cloog-ppl-xx.x86_64.rpm
# rpm -ivh cpp-xx.x86_64.rpm
# rpm -ivh gcc-xx.x86_64.rpm
# rpm -ivh libstdc++-xx.x86_64.rpm
# rpm -ivh libstdc++-devel-xx.x86_64.rpm
# rpm -ivh gcc-c++-xx.x86_64.rpm

DELL R720装完REDHAT系统后不能启动的解决办法

现有一台DELL R720服务器,安装redhat操作系统,安装好后重启自检完提示:
Strike F1 to retry boot,F2 for system setup,F11 for boot manager.

根据这个提示,看起来是没有从硬盘启动,按F2进入主板BIOS,发现启动项第一项是阵列卡,这里是没有问题的。

再进入阵列卡BIOS,这台DELL R720服务器阵列卡型号是PERC H710P,在CTRL MGMT页面,有Select boot device,这里就是启动的虚拟磁盘。

发现这里的启动设备并不是redhat操作系统所在的硬盘上,将select boot device修改为操作系统安装所在的虚拟磁盘,保存退出,重启后可正常进入redhat操作系统的界面。

这个问题有其通用性,即时不是DELL R720这个型号,不是安装redhat操作系统,遇到类似的情况,也可以通过这个思路排查问题。

Red Hat Enterprise Linux Release Dates

The tables below list the major and minor Red Hat Enterprise Linux updates, their release dates, and the kernel versions that shipped with them.

Red Hat does not generally disclose future release schedules.
Refer to the Red Hat Enterprise Linux Life Cycle Policy for details on the life cycle of Red Hat Enterprise Linux releases.

To find your Red Hat Enterprise Linux release please:Raw

$ cat /etc/redhat-release

To find your kernel version please:Raw

$ uname -a

Red Hat Enterprise Linux 8

ReleaseGeneral Availability Dateredhat-release Errata Date*Kernel Version
RHEL 82019-05-074.18.0-80

Codename: Ootpa (is based on Fedora 28, upstream Linux kernel 4.18, systemd 239, and GNOME 3.28.)

Red Hat Enterprise Linux 7

ReleaseGeneral Availability Dateredhat-release Errata Date*Kernel Version
RHEL 7.62018-10-302018-10-30 RHBA-2018:30143.10.0-957
RHEL 7.52018-04-102018-04-10 RHEA-2018:07003.10.0-862
RHEL 7.42017-07-312017-07-31 RHBA-2017:18503.10.0-693
RHEL 7.32016-11-032016-11-03 RHEA-2016-25443.10.0-514
RHEL 7.22015-11-192015-11-19 RHEA-2015:24613.10.0-327
RHEL 7.12015-03-052015-03-05 RHEA-2015:05243.10.0-229
RHEL 7.0 GA2014-06-093.10.0-123
RHEL 7.0 Beta2013-12-113.10.0-54.0.1

Codename: Maipo (based on a mix of Fedora 19, Fedora 20, and several modifications)

Red Hat Enterprise Linux 6

ReleaseGeneral Availability Dateredhat-release Errata Date*Kernel Version
RHEL 6.102018-06-192018-06-19 RHBA-2018:18562.6.32-754
RHEL 6.92017-03-212017-03-21 RHSA-2017:08172.6.32-696
RHEL 6.82016-05-102016-05-10 RHSA-2016:0855-12.6.32-642
RHEL 6.72015-07-222015-07-22 RHEA-2015:14232.6.32-573
RHEL 6.62014-10-142014-10-13 RHEA-2014:16082.6.32-504
RHEL 6.52013-11-212013-11-20 RHSA-2013:1645-22.6.32-431
RHEL 6.42013-02-212013-02-21 RHSA-2013-04962.6.32-358
RHEL 6.32012-06-202012-06-19 RHSA-2012-08622.6.32-279
RHEL 6.22011-12-062011-12-06 RHEA-2011:17432.6.32-220
RHEL 6.12011-05-192011-05-19 RHEA-2011:05402.6.32-131.0.15
RHEL 6.02010-11-092.6.32-71

Codename: Santiago (based on a mix of Fedora 12, Fedora 13, and several modifications)

Red Hat Enterprise Linux 5

ReleaseGeneral Availability Dateredhat-release Errata Date*Kernel Version
RHEL 5.112014-09-162014-09-16 RHEA-2014-12382.6.18-398
RHEL 5.102013-10-012013-09-30 RHEA-2013-13112.6.18-371
RHEL 5.92013-01-072013-01-07 RHEA-2013-00212.6.18-348
RHEL 5.82012-02-202012-02-20 RHEA-2012:03152.6.18-308
RHEL 5.72011-07-212011-07-20 RHEA-2011:09772.6.18-274
RHEL 5.62011-01-132011-01-12 RHEA-2011:00202.6.18-238
RHEL 5.52010-03-302010-03-30 RHEA-2010:02072.6.18-194
RHEL 5.42009-09-022009-09-02 RHEA-2009:14002.6.18-164
RHEL 5.32009-01-202009-01-20 RHEA-2009:01332.6.18-128
RHEL 5.22008-05-212008-05-20 RHEA-2008:04362.6.18-92
RHEL 5. 12007-11-072007-11-07 RHEA-2007:08542.6.18-53
RHEL 5.02007-03-152.6.18-8

Codename: Tikanga (based on Fedora Core 6)

Red Hat Enterprise Linux 4

Release/UpdateGeneral Availability Dateredhat-release Errata Date*Kernel Version
RHEL 4 Update 92011-02-162011-02-16 RHEA-2011:02512.6.9-100
RHEL 4 Update 82009-05-192009-05-18 RHEA-2009:10022.6.9-89
RHEL 4 Update 72008-07-292008-07-24 RHEA-2008:07692.6.9-78
RHEL 4 Update 62007-11-152007-11-15 RHBA-2007:08972.6.9-67
RHEL 4 Update 52007-05-012007-04-27 RHBA-2007:01962.6.9-55
RHEL 4 Update 42006-08-102006-08-10 RHBA-2006:06012.6.9-42
RHEL 4 Update 32006-03-122006-03-07 RHBA-2006:01492.6.9-34
RHEL 4 Update 22005-10-052005-10-05 RHEA-2005:7862.6.9-22
RHEL 4 Update 12005-06-082005-06-08 RHEA-2005:3182.6.9-11
RHEL 4 GA2005-02-152.6.9-5

Codename: Nahant (based on Fedora Core 3)

Red Hat Enterprise Linux 3

Release/UpdateGeneral Availability DateKernel Version
RHEL 3 Update 92007-06-202.4.21-50
RHEL 3 Update 82006-07-202.4.21-47
RHEL 3 Update 72006-03-172.4.21-40
RHEL 3 Update 62005-09-282.4.21-37
RHEL 3 Update 52005-05-182.4.21-32
RHEL 3 Update 42004-12-122.4.21-27
RHEL 3 Update 32004-09-032.4.21-20
RHEL 3 Update 22004-05-122.4.21-15
RHEL 3 Update 12004-01-162.4.21-9
RHEL 3 GA2003-10-222.4.21-4

Codename: Taroon (based on Red Hat Linux 9)

Red Hat Enterprise Linux 2.1

Release/UpdateGeneral Availability DateKernel Version
RHEL 2.1 Update 72005-04-28
RHEL 2.1 Update 62004-12-132.4.9-e.57
RHEL 2.1 Update 52004-08-182.4.9-e.49
RHEL 2.1 Update 42004-04-212.4.9-e.40
RHEL 2.1 Update 32004-12-192.4.9-e.34
RHEL 2.1 Update 22003-03-292.4.9-e.24
RHEL 2.1 Update 12003-02-142.4.9-e.12
RHEL 2.1 GA2002-03-232.4.9-e.3

Codename: Pensacola (AS) / Panama (ES) (based on Red Hat Linux 7.2)

* Helpful when cloning channels in Satellite for a minor version plus all errata prior to the next minor release using spacewalk-clone-by-date or the webUI.

2017 年度最受欢迎的十大 Linux 服务器发行版

近期公布的超级计算机 Top 500 排行榜显示,所有入榜的超级计算机都在运行 Linux 操作系统。尽管 Linux 操作系统在桌面上的表现不尽如人意,但作为运行在全球数据中心的服务器、大型计算机和超级计算机上的操作系统,它的表现令其他很多对手望其项背。

Linux 首次被 Top 500 的超级计算机使用是在 1998 年,当时的超算还是由 Unix 操作系统统治。从 2003 年起,超算开始被 Linux 系统支配,至 2004 年Linux 已经在超算中占据主导地位。在今年上半年公布的 Top 500 排行榜中,有两台中国的 IBM POWER 计算机运行 AIX 系统,而它们已经掉出 11 月公布的榜单中,所以结果就是 Top 500 的所有超算都在运行 Linux。

与其他操作系统相比,Linux 是自由和开源的,此外是强稳定性和高安全性,这也是使用 Linux 系统整体上成本较低的原因。本文将基于与受支持的功能和硬件相关的数据中心性能和可靠性、是否易于安装和使用、在许可方面的所有权和维护相关的问题、商业支持的可接入性等因素来盘点 2017 年最优秀的十大 Linux 服务器发行版。

1. Ubuntu

排在榜首的是 Ubuntu,由 Canonical 公司开发的基于 Debian 的开源 Linux 操作系统。毫无疑问,它是当下最流行的 Linux 发行版,而且还有很多其他的发行版衍生自 Ubuntu。Ubuntu 服务器对构建高性能、高度可伸缩、灵活和安全的企业数据中心具有非常强大的支持。此外,它也为大数据、可视化和容器、物联网等服务提供卓越的支持。Ubuntu 服务器可以在 x86 、ARM 和 Power 架构上运行。

借助 Ubuntu Advantage 可以获得商业支持和服务,例如用于安全审计的系统管理工具、合规性以及 Canonical livepatch 服务,这些服务可帮助你应用内核修复程序等等。此外,还有来自一个强大且不断增长的开发者和用户社区的支持。

2. Red Hat Enterprise Linux (RHEL)

第二名是 Red Hat Enterprise Linux (RHEL),这是一个由红帽公司开发的开源 Linux 发行版,也是一款商业使用的发行版。RHEL 基于 Fedora,Fedora 是一个由社区驱动的项目,RHEL 上大量的软件是首先在 Fedora 上开发和测试的。

RHEL 服务器是一个功能强大、稳定和安全的软件,可以为面向软件的存储提供现代数据中心的支持。它还支持云、物联网、大数据、可视化和容器。RHEL 服务器支持 x86、x86-64、Itanium、PowerPC 和 IBM System z 架构的机器。

3. SUSE Linux Enterprise Server

SUSE Linux Enterprise Server 是由 SUSE 构建的开源、稳定和安全的服务器平台,旨在为物理、虚拟和基于云的服务器提供支持。它非常适合支持可视化和容器的云解决方案,可以运行在 ARM SoC、Intel、AMD、SAP HANA、z Systems 和面向 NVM Express 的现代硬件环境中。用户可通过 SUSE 订阅服务获得各类技术支持和服务,包括优先支持、专职工程师等。

4. CentOS (Community OS) Linux Server

CentOS 是 RHEL 的衍生产品。这是一个拥有全面的社区支持的 Linux 发行版,因此在操作上与 RHEL 兼容。如果你想使用 RHEL,而不希望为订阅服务支付大量的钱,那么可以考虑使用 CentOS。同时由于它是自由软件,因此可以从其他社区成员、用户和在线资源那获得支持。

5. Debian

Debian 是由用户维护的自由、开源和稳定的 Linux 发行版。它拥有超过 51000 个软件包,并使用强大的包管理系统。它基本上支持了大部分的计算机体系结构,包括 64-bit PC (amd64)、32-bit PC (i386)、IBM System z、64-bit ARM (Aarch64)、POWER 处理器等,为教育机构、商业公司、非营利组织和政府机构使用。Debian 拥有一个错误跟踪系统,用户可以通过阅读文档和免费的网页资源来获得针对 Debian 的支持。

6. Oracle Linux

Oracle Linux 是由 Oracle 打包并分发的自由开源 Linux 发行版,用于开放云领域。它非常适合于小型、大中型企业以及云端数据中心,提供了构建可扩展以及可靠的大数据系统和虚拟环境的工具。它可以在所有基于 x86 的 Oracle 集成系统上运行,Oracle Linux Support 程序使用户能够以合理的低成本获得顶级支持,包括主要的 backports、粗放管理、集群应用程序、补偿和测试工具等等。

7. Mageia

Mageia(Mandriva 的一个分支)是一个由社区开发的自由、稳定和安全的 Linux 操作系统。它提供了一个巨大的软件库,包括集成的系统配置工具。需要强调的是,它是第一个用 MariaDB 替代 Oracle MySQL 的 Linux 发行版。如果用户需要支持,可以联系由用户、制造商和倡导者组成的 Mageia 社区。

8. ClearOS

ClearOS 是衍生自 RHEL/CentOS 的开源 Linux 发行版,由 ClearFoundation 构建并由 ClearCenter 销售。这是一个面向中小型企业的商业版本,用于网络网关和网络服务器,具有易于使用的基于 Web 的管理界面。

这是一个高度灵活和可定制的智能、功能齐全的服务器软件。您可以通过低廉的成本获得高级的支持,并从应用程序市场获得额外的软件。

9. Arch Linux

Arch Linux 也是一个自由开源、简单、轻量而又安全的 Linux 发行版。它灵活而稳定,通过滚动发布的模式提供了大多数软件的最新稳定版,同时使用官方软件包和由社区支持的软件包仓库。虽然Arch Linux 是针对 i686 和 x86-64 架构进行优化的通用发行版,但是由于 i686 在开发人员和其他社区成员的普及程度越来越低,现在对 i686 的支持已经下降了。

Arch Linux 有一个正式的错误跟踪工具,用户可以从活跃的社区和其他在线资源中获得支持。

10. Slackware Linux

最后一个是 Slackware,这是一个自由开源且功能强大的 Linux 发行版,力求在设计简单性和稳定性方面成为最“类UNIX”的系统。它由 Patrick Volkerding 于 1993 年开发,最适合熟悉Linux 使用的用户。Slackware不提供图形化安装的途径,没有软件包的自动依赖性解析,仅使用纯文本文件和一些 shell 脚本进行配置和管理,而且也没有正式的错误跟踪服务或公共代码库。

它为希望在其服务器上开发或编译补充软件的用户提供了广泛的开发工具、编辑器和最新的库,可以运行在 Pentium 系统以及最新的 x86 和 x86_64 机器上。Slackware 没有官方的支持条款政策,但是用户可以从全面的在线文档和其他相关资源中获得帮助。

CPU节能模式导致linux操作系统宕机的解决办法

有台HP DL380 G6服务器,安装有redhat linux as5.6 64位操作系统,安装好操作系统后,服务器有时出现宕机现象,每次重启后都恢复正常,经查看日志发现有CPU frequency相关的信息,根据该信息可以看出CPU不支持频率调整,需要设置“CPUFREQ_ENABLED=no”和“SUSPEND2RAM_FORCE=yes”的参数。

经过分析可以看出宕机现象是由服务器上CPU的节能模式引起,解决的办法就是在BIOS中关闭CPU的节能模式,或者修改cpufreq的配置参数:
#vi /etc/powersave/cpufreq
CPUFREQ_ENABLED=”no”
重启/etc/init.d/powersave即可。

cpufreq技术:

在cpufreq中内置了5种策略:performance、powersave、userspace、ondemand、conservation。默认采用ondemand策略,在该策略里每80个毫秒就采集一次cpu的使用率,同时假设前后两次cpu使用率是相同的。通过前一次的cpu使用率推出后一个cpu使用率,完了进行频率设置。所以就总的思想来说还不是很难理解。

变频技术是指CPU硬件本身支持在不同的频率下运行,系统在运行过程中可以根据随时可能发生变化的系统负载情况动态在这些不同的运行频率之间进行切换,从而达到对性能和功耗做到二者兼顾的目的。

虽然多个处理器生产厂家都提供了对变频技术的支持,但是其硬件实现和使用方法必然存在着细微甚至巨大的差别。这就使得每个处理器生产厂家都需要按照其特殊的硬件实现和使用方法向内核中添加代码,从而让自己产品中的变频技术在 Linux 中得到支持和使用。然而,这种内核开发模式所导致的后果是各个厂家的实现代码散落在 Linux 内核代码树的各个角落里,各种不同的实现之间没有任何代码是共享的,这给内核的维护以及将来添加对新的产品的支持都带来了巨大的开销,并直接导致了cpufreq 内核子系统的诞生。

管理策略:

Linux内部共有五种对频率的管理策略userspace,conservative,ondemand,powersave和 performance

1.performance :CPU会固定工作在其支持的最高运行频率上;

2.powersave :CPU会固定工作在其支持的最低运行频率上。因此这两种governors 都属于静态 governor ,即在使用它们时 CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。这两种 governors 对应的是两种极端的应用场景,使用performance governor 体现的是对系统高性能的最大追求,而使用 powersave governor则是对系统低功耗的最大追求。

3.Userspace:最早的 cpufreq 子系统通过 userspace governor 为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节 CPU 运行频率使用。 (可以使用Dominik 等人开发了 cpufrequtils工具包 )

4.ondemand :userspace是内核态的检测,效率低。而ondemand正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的 governor。当CPU有负载的时候选用最大的主频,当CPU空闲的时候一步步降低.

5.conservative : ondemand governor 的最初实现是在可选的频率范围内调低至下一个可用频率。即根据CPU使用情况进行升或降频,这种降频策略的主导思想是尽量减小对系统性能的负面影响,从而不会使得系统性能在短时间内迅速降低以影响用户体验。

但是在 ondemand governor 的这种最初实现版本在社区发布后,大量用户的使用结果表明这种担心实际上是多余的, ondemand governor 在降频时对于目标频率的选择完全可以更加激进。因此最新的 ondemand governor 在降频时会在所有可选频率中一次性选择出可以保证 CPU 工作在 80% 以上负荷的频率,当然如果没有任何一个可选频率满足要求的话则会选择 CPU 支持的最低运行频率。大量用户的测试结果表明这种新的算法可以在不影响系统性能的前提下做到更高效的节能。在算法改进后, ondemand governor 的名字并没有改变,而 ondemand governor 最初的实现也保存了下来,并且由于其算法的保守性而得名 conservative 。

Ondemand降频更加激进,conservative降频比较缓慢保守,事实使用ondemand的效果也是比较好的。和ondemand管理器不同的是,在CPU负载高的时候conservative 并不直接跳上最高的主频,而是采用步进的方式来升高主频。