摘要

小年在家陪孩子.
翻阅<企业存储技术>公众号的文章时
找到了 s-tui 进行监控机器主频的文章
感觉挺有用的
想验证一下 虚拟机有否支持Intel的睿频功能.
所以将之前写的python安装编译再优化一般一起拿出来用

目的

怀疑虚拟化为了简单起见 并不会直接使用Intel的睿频技术
物理机能够在TDP限制之外拉高频率.瞬时提高吞吐率
基于此 我想进行物理机和虚拟机的验证.
发现物理机的频率是有一个睿频的数据的.
虚拟机就是默认频率进行运行.

编译安装Python

mkdir /python
cd /python
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0a4.tar.xz
# 下载最新的的python 源码
wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.7.0.tar.gz
# 下载最新的libressl 源码 # 注意需要进行一些安装yum包的处理
yum install libffi-devel tcl-devel tk-devel ncurses-devel openssl openssl-devel -y
yum group install "Development Tools" -y 第一步先编译 libressl
./configure --prefix=/usr/local/libressl
make && make install 执行一个简单处理, 将OpenSSL 修改成 LibreSSL
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/libressl/bin/openssl /usr/bin/openssl
ln -s /usr/local/libressl/include/openssl /usr/include/openssl
echo /usr/local/libressl/lib >> /etc/ld.so.conf.d/libressl-3.0.2.conf 执行一下环境变量
export LDFLAGS="-L/usr/local/libressl/lib"
export CPPFLAGS="-I/usr/local/libressl/include"
export PKG_CONFIG_PATH="/usr/local/libressl/lib/pkgconfig"

编译安装Python2

进入python的目录进行处理.
xz -d Python-3.12.0a4.tar.xz
tar -xf Python-3.12.0a4.tar
cd Python-3.12.0a4/ 注意 自定义ssl 需要进行修改
vi Modules/Setup 找到如下内容
注意 在第 214行左右 _ssl _ssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) \
-l:libssl.a -Wl,--exclude-libs,libssl.a \
-l:libcrypto.a -Wl,--exclude-libs,libcrypto.a 取消注释. ./configure --prefix=/opt/python3 --with-ssl=/usr/local/libressl
time make && make install

注意会出现问题

The following modules are *disabled* in configure script:
_sqlite3 The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_hashlib _lzma _tkinter
readline
To find the necessary bits, look in configure.ac and config.log. Checked 111 modules (30 built-in, 72 shared, 1 n/a on linux-x86_64, 1 disabled, 7 missing, 0 failed on import)

安装s-tui

cd /opt/python3/bin
./pip3 install -i http://pypi.douban.com/simple/ s-tui --trusted-host pypi.douban.com

然后可以使用

cd /opt/python3/bin
./s-tui
就可以打开界面了.
会进行一些简单的显示.
./s-tui --help 就可以打开帮助

帮助信息为:

options:
-h, --help show this help message and exit
-d, --debug Output debug log to _s-tui.log
--debug-file DEBUG_FILE
Use a custom debug file. Default: _s-tui.log
-dr, --debug_run Run for 5 seconds and quit
-c, --csv Save stats to csv file
--csv-file CSV_FILE Use a custom CSV file. Default: s-tui_log_<TIME>.csv
-t, --terminal Display a single line of stats without tui
-j, --json Display a single line of stats in JSON format
-nm, --no-mouse Disable Mouse for TTY systems
-v, --version Display version
-tt T_THRESH, --t_thresh T_THRESH
High Temperature threshold. Default: 80
-r REFRESH_RATE, --refresh-rate REFRESH_RATE
Refresh rate in seconds. Default: 2.0

简单效果


Curses

什么是Curses?
curses库为基于文本的终端提供独立于终端的屏幕绘制和键盘处理设施;这些终端包括VT100s、Linux控制台和各种程序提供的模拟终端。
显示终端支持各种控制代码来执行常见的操作,如移动光标、滚动屏幕和擦除区域。不同的终端使用的代码差别很大,而且常常有自己的小毛病。
在图形显示的世界中,有人可能会问“为什么要这么麻烦”?诚然,字符单元显示终端是一种过时的技术,
但在某些特定领域,能够用它们做一些新奇的事情仍然很有价值。其中一个利基市场是不运行X服务器的占用空间小或嵌入式unix。
另一个是OS安装程序和内核配置器等工具,它们可能必须在任何图形支持可用之前运行。
curses库提供了相当基本的功能,为程序员提供了一个包含多个非重叠文本窗口的显示抽象。窗口的内容可以通过各种方式进行更改——添加文本、
擦除文本、更改外观——curses库将计算出需要将哪些控制代码发送到终端才能生成正确的输出。curses没有提供许多用户界面概念,比如按钮、
复选框或对话框;如果需要这些特性,可以考虑使用用户界面库,比如Urwid。
curses库最初是为BSD Unix编写的;AT&T后来的System V版本Unix增加了许多增强功能和新功能。
不再维护BSD curses,取而代之的是ncurses,它是AT&T接口的一个开源实现。如果您使用的是开源Unix,
比如Linux或FreeBSD,那么您的系统几乎肯定使用了ncurses。由于目前大多数商业Unix版本都基于System V代码,
所以这里描述的所有函数可能都是可用的。不过,一些专有的Unixes携带的旧版本的咒语可能并不支持所有的功能。

s-tui验证机器主频的过程的更多相关文章

  1. Java:验证在类继承过程中equals()、 hashcode()、toString()方法的使用

    以下通过实际例子对类创建过程汇中常用的equals().hashcode().toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写. //通过超类Employee和其子类 ...

  2. django 1.10 CSRF验证失败的解决过程

    最近工作闲,没事自学django,感觉这个最烦的就是各版本提供的api函数经常有变化,不是取消了就是参数没有了,网上搜到的帖子也没说明用的是什么版本的django,所以经常出现搬运过来的代码解决不了问 ...

  3. Vue表单验证插件的制作过程

    一.表单验证模块的构成 任何表单验证模块都是由 配置――校验――报错――取值 这几部分构成的. 配置: 配置规则 和配置报错,以及优先级 校验: 有在 change 事件校验, 在点击提交按钮的时候校 ...

  4. WebApi服务Uri加密及验证的两种方式

    最近的一个项目要求服务端与UI层分离,业务层以WebApi方式向外提供所有业务服务,服务在数据保密性方面提出了要求,主要包括: 1:客户端认证: 2:服务请求超时(默认5分钟): 3:服务Get请求的 ...

  5. Mongodb分片集群技术+用户验证

    随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,“分片”就用这个来解决这个问题. 从图中可以看到有四个组件:mongos.config server. ...

  6. SSH免密登陆配置过程和原理解析

    SSH免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...

  7. python爬虫成长之路(二):抓取代理IP并多线程验证

    上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的, ...

  8. .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...

  9. Windows Azure Active Directory (1) 前言 - 基于声明的验证和授权

    <Windows Azure Platform 系列文章目录> 在我们介绍整套系统架构之前,我们需要首先定义一些基本的概念. 用户及其属性: 用户值得是要使用某项服务的个体.用户一般都有一 ...

  10. https加密解密过程详解

    要点: https协议对传输内容进行加密,具有更强的安全性,防止被抓包后解析出请求内容. https是建立在ssl之上的http协议. 服务器支持https协议必须安装一套数字证书,所谓数字证书就是一 ...

随机推荐

  1. 代码也能“杀”虫:此虫,真虫非Bug也

    摘要:看这群大学生如何保护粮食,让害虫.霉变无处遁形. 国以民为本,民以食为天,对有着14亿人口的中国来说,粮食安全,一直都是关系国计民生的头等大事. 2010年以来,我国人均粮食占有量持续高于世界平 ...

  2. 揭秘华为云GaussDB(for Influx):最佳实践之数据建模

    摘要:本期将从GaussDB(for Influx)数据模型谈起,分享GaussDB(for Influx)数据建模的最佳方法,避免一些使用过程中的常见问题. 本文分享自华为云社区<华为云Gau ...

  3. appuploader   iOS 应用自动发布

    appuploader是一款专门为 iOS 和 Android 开发人员设计的自动化工具,可以帮助开发人员轻松解决一些繁琐的任务,例如生成屏幕截图.处理配置文件和发布应用程序等.这个工具可以让开发人员 ...

  4. 如何在跨平台的环境中创建可以跨平台的后台服务,它就是 Worker Service。

    一.简介 最近,有一个项目要使用 Windows 服务,来做为一个软件项目的载体.我想了想,都已经到了跨平台的时代了,会不会有替换 Windows 服务的技术出现呢?于是,在网络上疯狂的搜索了一番,真 ...

  5. Mac 复制文件名目录路径

    Mac快速复制文件路径 在Mac电脑上,我们经常需要复制文件的路径,其实,Mac系统提供了快速复制文件路径的方法.下面我们来详细介绍. 方法一:使用菜单栏 首先,打开Finder,然后选择你要复制路径 ...

  6. RandomAccessFile 读写文件

    将目录下的N个日志文件读写到一个文件中. @Test void verification() throws Exception { File f = new File("D:\\Logs&q ...

  7. python 读取数据调翻译更新表字段

    import time import requests import pymysql import datetime import random from hashlib import md5 imp ...

  8. 巧用别名和 sh 脚本,adb 快速截图和录屏,提高你的效率

    前言 在平时开发过程中,我们经常需要截图和录制视频,尤其是客户端开发和测试. 可能有一些人的姿势是这样的.在电脑上开个模拟器,使用第三方工具后进行截图和录屏.还有一种最原始的方式,在手机上截图和录制视 ...

  9. Go--日志

    一.Logger go语言默认提供的日志功能,包为ttps://golang.org/pkg/log/ 优势: 使用非常简单,可以设置任何io.Writer作为日志记录输出并向其发送要写入的日志 劣势 ...

  10. Win10中docker的安装与使用

    1.docker的安装 环境准备 Docker for Windows是一个Docker Community Edition(CE)应用程序.Docker for Windows安装包包含了在Wind ...