问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux怎样读取memory spd

发布网友 发布时间:2022-04-22 20:21

我来回答

2个回答

热心网友 时间:2022-05-02 15:10

smbus设备的bar5一般为smbus设备的io基地址。可以通过设备管理器查看。
Read SPD information

The SMBus DeviceID of memory bank0 is a0, bank1= 0xa2, and bank2 =0xa4

smbus操作的过程如下所示
a. start out Base+0, 1e

b. wait smbus ready

c. output Base+04, (DeviceID+1)

d. out Base+03, offset

e. out Base+02, 48H

f. wait 200ms

g. wait smbus ready

h. input base+05

i. OK

How to wait SMBus ready? Input Base+0, bit0==0 indicates smbus is ready, otherwise(bit0==1), smbus is busy

下面为转载的全文。
思路有了就是不知道怎么实现,请大家帮忙,引用系统软件开发 System Programming中的文章:
怎样读写SMBus上的Device―以获取Intel平台上Memory的SPD信息为例

How to access devices on SMBus--- Take reading SPD information (Intel platform) as example

firing -2005/04/13

0. Essential skills before you start:

l How to read/write PCI configuration space?

l How to read/write I/O space under WindowsNT/2000… platform?

And an Intel south bridge datasheet as reference

1. Basic steps

a. Enable SMBus controller

b. Get SMBus base address

c. Read SPD information, according the device IDs

2. Enable SMBus controller

LPC Interface Bridge Registers (D31:F0), Offset: F2h (FUNC_DIS),Bit3 :

Software sets this bit to disable the SMBus Host controller function.

0 = SMBus controller is enabled

1 = SMBus controller is disabled

This bit is set to 1(SMBus controller is disabled) by default. So, just set this bit to 0.

(How to make sure you have enabled SMBus controller? Go to ‘Device Manager’ and refresh it, and then check ‘System Device’, where you should find a PCI device named “Intel® 82801DB SMBus Controller” like.)

3. Get SMBus base address

SMBus Controller PCI Register (D31:F3), offset: 20~23H. That’s the SMBus base address. Just read this base address. Normally, the address could be 0x500 or 0x5000

4. Read SPD information

The SMBus DeviceID of memory bank0 is a0, bank1= 0xa2, and bank2 =0xa4

a. start

b. wait smbus ready

c. output Base+04, (DeviceID+1)

d. out Base+03, offset

e. out Base+02, 48H

f. wait 200ms

g. wait smbus ready

h. input base+05

i. OK

Note:

How to wait SMBus ready? Input Base+0, bit0==0 indicates smbus is ready, otherwise(bit0==1), smbus is busy

热心网友 时间:2022-05-02 16:28

随着linux广泛的使用,了解到服务器所运行的进程是势在必行的,作为初学者有必要总结自己的技术文档,根据自己的总结文档 写了如下的介绍。
ps 查看静态的进程信息
可以使用man 来查看 ps 的使用参数 以下是几个常使用到得,
a 显示当前终端的所有进程信息
u 使用以用户为主的格式输出进程信息
x 显示当前用户在所有终端下的进程信息
-e 显示 系统内的所有进程
# ps 只显示当前用户打开的进程
PID TTY TIME CMD
1949 pts/1 00:00:00 bash
2279 pts/1 00:00:00 ps
]# ps aux 显示系统中所有进程信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2072 620 ? Ss 16:07 0:01 init [3]
root 2 0.0 0.0 0 0 ? S< 16:07 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 16:07 0:00 [ksoftirqd/0]
root 6 0.0 0.0 0 0 ? S< 16:07 0:00 [khelper]
root 7 0.0 0.0 0 0 ? S< 16:07 0:00 [kthread]
root 173 0.0 0.0 0 0 ? S< 16:07 0:00 [cqueue/0]
root 176 0.0 0.0 0 0 ? S< 16:07 0:00 [khubd]
root 178 0.0 0.0 0 0 ? S< 16:07 0:00 [kseriod]
root 241 0.0 0.0 0 0 ? S 16:07 0:01 [pdflush]
root 243 0.0 0.0 0 0 ? S< 16:07 0:00 [kswapd0]
root 244 0.0 0.0 0 0 ? S< 16:07 0:00 [aio/0]
root 496 0.0 0.0 0 0 ? S< 16:07 0:00 [ata_aux]
root 501 0.0 0.0 0 0 ? S< 16:07 0:00 [kstriped]
root 510 0.0 0.0 0 0 ? S< 16:07 0:00 [ksnapd]
root 2087 0.1 2.2 31304 11408 ? Ss 19:58 0:00 /usr/sbin/httpd
root 2115 0.0 0.1 2528 640 ? S 19:59 0:00 /usr/local/apache2/bin/rotatel
root 2118 0.0 0.1 2528 640 ? S 19:59 0:00 /usr/local/apache2/bin/rotatel
apache 2119 0.0 1.2 31304 6380 ? S 19:59 0:00 /usr/sbin/httpd
注释 以上所显示代表的内容
user 启动该进程的用户账号名称
PID 该进程在系统中的ID 号
%cpu使用的cpu 百分比
%MEM 内存占用百分比
VSZ 占用虚拟内存的大小
RSS 占用物理内存的大小
TTY 该进程在那个终端运行
START 启动该进程的时间
TIME 该进程占用cpu的时间
COMMAND 启动该进程的命令的名称
2 top 动态显示系统进程信息
[root@www ~]# top
top - 20:08:54 up 4:01, 5 users, load average: 0.07, 0.17, 0.45
Tasks: 141 total, 1 running, 139 sleeping, 0 stopped, 1 zombie
Cpu(s): 6.1%us, 4.2%sy, 0.0%ni, 87.5%id, 1.7%wa, 0.0%hi, 0.6%si, 0.0%st
Mem: 515340k total, 433076k used, 82264k free, 20548k buffers
Swap: 522072k total, 84k used, 521988k free, 217348k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1884 root 15 0 100m 17m 10m S 1.5 3.6 0:05.93 gnome-terminal
241 root 15 0 0 0 0 S 0.2 0.0 0:01.49 pdflush
2491 root 18 0 2336 1036 800 R 0.2 0.2 0:00.17 top
2492 xiaowang 15 0 10192 3304 2172 S 0.2 0.6 0:00.32 vim
3957 root 15 0 41212 12m 8584 S 0.2 2.5 0:22.81 metacity
3961 root 15 0 83120 14m 9.8m S 0.2 2.8 0:03.07 gnome-panel
4035 root 15 0 70804 15m 10m S 0.2 3.0 0:13.07 wnck-applet
4637 root 15 0 12044 1160 940 S 0.2 0.2 0:11.90 scim-bridge
4638 root 15 0 16672 2184 1420 S 0.2 0.4 0:08.75 gnome-screensav
1 root 15 0 2072 620 532 S 0.0 0.1 0:01.42 init
注释以上显示代表的内容
第一行是任务队列信息,等同于同uptime 命令的执行结果。其内容如下
表示 当前系统时间 系统运行时间 登录用户数 平均负载
第二、三行为进程和CPU的信息。
Tasks: 141 total, 进程总数 1 running 正在运行的进程数
139 sleeping 休眠的进程数 0 stopped 停止的 1 zombie 僵死的进程数
Cpu(s): 6.1%us, 占用cpu百分比 sy 内核空间占用CPU百分比 ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比 wa 等待输入输出的CPU时间百分比
最后两行为内存信息。
内容如下:
Mem: 1 total 物理内存总量 used 使用的物理内存总量 free 空闲内存总量 buffers 用作内核缓存的内存量
Swap: total 交换区总量 used 使用的交换区总量 free 空闲交换区总量 cached 缓冲的交换区总量。
top 命令 参数
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
3 pgrep 命令 可以根据指定的进程名, 运行该进程的用户,进程所在终端等多种属性查询特定进程的PID号

pgrep -l mysqld
32597 mysqld_safe
32647 mysqld
pgrep -l -U 查看用户 运行进程的PID号
4 pstree 查看进程数
不带任何参数时 可以显示系统中所有用户的进程数结构
[root@www ~]# pstree
init─┬─acpid
├─atd
├─auditd─┬─audispd───{audispd}
│ └─{auditd}
├─automount───4*[{automount}]
├─avahi-daemon───avahi-daemon
├─bonobo-activati───{bonobo-activati}
├─bt-applet
├─clock-applet
├─crond
├─cupsd
├─2*[dbus-daemon]
├─dbus-launch
├─eggcups
├─escd───{escd}
├─events/0
├─gam_server
├─gconfd-2
├─gnome-keyring-d
pstree aux 将列出进程的PID 用户名 以及命令 信息
[root@www ~]# pstree -aup
init,1
├─acpid,3198
├─atd,3544
├─auditd,2467
│ ├─audispd,2469
│ │ └─{audispd},2480
│ └─{auditd},2468
├─automount,3296
│ ├─{automount},3297
│ ├─{automount},3298
│ ├─{automount},3301
│ └─{automount},3304
├─avahi-daemon,3575,avahi
│ └─avahi-daemon,3576
├─gnome-terminal,1884
│ ├─bash,1949
│ ├─bash,2241
│ │ └─su,4076 fjc
│ │ └─bash,4077,fjc
│ │ └─vim,4097 1.php
│ ├─bash,2295
│ │ └─pstree,4366 -aup
│ ├─bash,2494
│ ├─gnome-pty-helpe,1914
│ └─{gnome-terminal},1916
├─gnome-vfs-daemo,3980
├─gpm,3465 -m /dev/input/mice -t exps2
├─hald,3217,haldaemon
│ └─hald-runner,3218,root
│ ├─hald-addon-acpi,3225,haldaemon
│ ├─hald-addon-keyb,3233,haldaemon
│ └─hald-addon-stor,3242
├─hcid,3109
├─hidd,3267 –server
├─hpiod,3318
├─httpd,2087
│ ├─httpd,2119,apache
│ ├─httpd,2120,apache
│ ├─httpd,2121,apache
│ ├─httpd,2122,apache
│ ├─httpd,2123,apache
│ ├─httpd,2124,apache
│ ├─httpd,2125,apache
│ ├─httpd,2126,apache
│ ├─rotatelogs,2115 /home/xiaowang/logs/%Y%m%d%H.error_log 720048
│ ├─rotatelogs,2116 /home/xiaoli/logs/%Y%m%d%H.error_log 7200 480
│ ├─rotatelogs,2117 /home/xiaowang/logs/%Y%m%d%H.access_log 72004
│ └─rotatelogs,2118 /home/xiaoli/logs/%Y%m%d%H.access_log 7200480
查看某个用户使用的进程数结构信息
# pstree -ap fjc
bash,4077
└─vim,4097 1.php
还有许多参数的都可以在man 中一一的查看到
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我这个配置能玩大唐无双2吗 PK什么的能卡么? 求高手解答 这样的配置还要加什么玩大唐无双才不卡 这个配置能玩大唐无双双开吗? windows7旗舰版系统玩大唐无双零双开卡怎么办?卡死了。 玩大唐无双的时候双开过地图太卡怎么解决啊 全民枪战我用QQ号,但它说密码数字英文,下划线组成,应该怎样弄啊?_百 ... 小太阳取暖器头晕呕吐 取暖器用的会头晕吗,可能的原因和使用注意事项 男孩姓孙含越字好名字 简单特别的男孩名字越 中间是越的男孩名字大全 Linux操作系统里面的所有服务器,并表表示每个服务器干什么工作的!谢谢... LINUX的端口和服务有什么关系 求linux自带的ipv6隧道的配置命令(方法越多越好) 如何用c语言编程将命令行指定的一个文件的内容追加到另一个文件的末 c语言编程以一定的软件打开一个特定的文件 如何用wifi-linux检测AP信号强度 请问linux中如何检测信号是哪个进程发出的 机顶盒连接到电视机的线在武汉哪里买 linux系统下安装了软件后无法启动 机顶盒连接电视需要什么线 在linux下可以用命名管道实现c程序与qt的数据通信吗? 昨天刚刚想写个程序,实现: linux下,插入A,B两个U盘,自动挂载,并将A盘... 长城宽带机顶盒和电视连接线哪里买 嵌入式linux开发好不好学? 蓝牙处于已配对状态如何dbus控制连接(嵌入式linux实现) 网络电视链接机顶盒的线坏了哪里买得到? 数字机顶盒与电视机连接的三色线哪里有卖 多少价格的 Linux安装libcap出现错误,DBUS_ERROR_INIT未声明(在此函数内第一次使 ... linux 编写程序查看某个进程是否存在,不能用shell脚本 乐视tv超级电视怎么使用电视机与机顶盒的连接线在哪买得到 用扫描仪扫描照片时,用多少分辨率最佳?谢谢! 什么叫分辨率?分辨率越大图像越清晰还是分辨率越小图像越清晰? 扫描图片时,分辨率设置的越高,图片打印出来越清晰吗?拜托了各位 谢谢... 扫描仪的光学分辨率是不是越大越好? 请教各位大侠,便携式扫描仪的分辨率是不是越高越好,还有就是OCR识别和... 扫描仪分辨率最大是多少? 扫描照片如何设置分辨率? 零首付购车,需要哪些手续和条件? 相机和扫描仪,哪个分辨率更高 0首付购车一般多少钱? 那个零首付购车是怎么做的都需要啥??? 扫描仪分辨率如何调节 0首付购车,不看征信是骗局吗 零首付购车有哪些车型? 怎么样才可以零首付购买汽车? 有谁知道零首付购车操作的流程吗?严格吗? 可以零首付购车吗? 零首付买车怎样的流程 买车可以零首付吗?有哪些渠道可以用来选择呢? 车贷可以零首付吗?零首付购车靠不靠谱?