当前位置:文档之家› HP-UX 11.0内核参数篇

HP-UX 11.0内核参数篇

HP-UX 11.0内核参数篇
HP-UX 11.0内核参数篇

HP-UX 11.0内核参数篇

1.1 内核配置的概念

抽象地讲,内核配置是管理员所有选项和设置的集合,这些选项和设置用于确定HP-UX 内核行为和功能。

1.1.1 内核配置包括:

1. 一组内核可调参数值分配

2. 一组内核模块,每个均具有所需的状态

1.1.2 内核配置的名称和选项说明:

从物理上讲,内核配置是一个位于/stand下的目录,其中包括实现特定行为所需的文件。此目录包括:

1. HP-UX 内核可执行程序

2. 一组HP-UX 内核模块文件

3. 内核注册表数据库,包含以上所有设置

4. 系统文件,以用户可读的形式说明上述设置

5. 特定于实现的各种其他文件

6. 除运行中的内核的配置之外,还可保存任意数目的HP-UX 系统内核配置,这只受/stand 目录中磁盘空间的限制。

1.2 HP的核心参数存放在哪些文件中

这两个文件中的信息比较的全:

/usr/conf/master.d/core-hpux .

/var/sam/boot.config .

/stand/vmunix是内核文件,参数当然包含在里面,但是它并不是一个文本文件,只能间接看到系统内核参数(如sysdef/sam)。

/stand/system是修改内核参数的一个文本文件,按要求编辑好这个文件以后,再运行kmtune 重新按system的值编译内核,以达到修改内核参数的目的。这是通过命令行方式修改内核参数的一个方法,如果用sam修改,则方便许多。不信你可以修改/stand/system的pty值试试,不kmtune就打开sam看pty的值,根本就没改变。

1.3 HP-UX的内核参数的修改

/usr/conf/master.d/core-hpux

设定HP-UX的核心环境,对核心环境进行管理。但修改后不能立即对核心参数进行管理。因为系统会向boot.config读出参数,所以只有移走boot.config,然后再用getkinfo

重建boot.config文件。在SAM--》Kernel configuration--> Parameter会自动运行

getkinfo 命令。

先修改/usr/conf/master.d/core-hpux:

*range maxfiles<=60000

*range maxfiles_lim<=60000

把/var/sam/boot.config文件mv成boot.config.bak

mv /var/sam/boot.config /var/sam/boot.config.bak

然后运行

/usr/sam/lbin/getkinfo -b

to recreate the boot.config file.

1.4 内核参数修改步骤

需要注意的也就是个"备份"罢了.

进入sam

--->kernel configuration

--->configurable parameters

选择其中需要修改的内核参数.

--->actions

--->monify configurable parameter...

修改后在actions中的process now kernel保存一下,然后重引导机器.

如果因为特殊情况不能马上重启机器,就在命令行中输入以下内容:

cd /stand

#cp /stand/system /stand/system_prev

#cp /stand/build/system.SAM /stand/system

#kmupdate /stand/build/vmunix_test

shutdown -ry 0

就可以了.

如果新内核不能引导或有问题,则启用原来的内核:

在ISL下输入以下内容:

ISL> hpux /stand/vmunix.prev

然后再把原来的内核复位:

#cd /stand

#mv system.prev system

#kmupdate /stand/vmunix.prev

#shtdown -ry 0

就可以了.

*注:在sam中修改后,原来的vmunix将自动备份到vmunix.prev中,而不需要再像system一样再手动备份.

1.5 HP-UX 11.0内核参数中文说明

1.5.1 Accounting Subsystem(记帐子系统)

acctsuspend 暂停记帐

Minimum: -100

Maximum: 100

Default: 2

acctresume 恢复记帐

Minimum: -100

Maximum: 101

Default: 4

1.5.2 Asynchronous I/O Subsystem(异步I/O子系统)

aio_listio_max 可以在一个lio_list()调用中指定的AIO操作的最大数

Minimum: 2

Maximum: 0x10000

Default: 256

aio_max_ops 在任意时间内被查询的AIO操作的最大数

Minimum: 1

Maximum: 0x100000

Default: 2048

aio_physmem_pct 在系统中能够锁定用于POSIX异步I/O操作的总物理内存的最大百分比Minimum: 5

Maximum: 50

Default: 10

aio_prio_delta_max 最大减速因子,在aiocb的aio_reqprio域的最大优先权减少

Minimum: 0

Maximum: 20

Default: 20

1.5.3 Dump Parameters(转储参数)

alwaysdump 包含在转储中的核心内存页面位掩码

Minimum: 0

Maximum: none

Default: 0

dontdump 不在转储中的核心内存页面位掩码

Minimum: 0

Maximum: none

Default: 0

initmodmax 由系统崩溃转储保存的核心模块的最大数

Minimum: 0

Maximum: none

Default: 50

modstrmax 核心模块savecrash表的最大长度

Minimum: 500

Maximum: none

Default: 500

1.5.4 Fiber Channel Subsystem(光纤通道子系统)

num_tachyon_adapters Tachyon适配器的数目

Minimum: 0

Maximum: 5

Default: 0

max_fcp_reqs 所允许的最大并发FCP请求数

Minimum: 0

Maximum: 1024

Default: 512

1.5.5 Mass-Storage Subsystem(海量存储子系统)

* Configurable File System Buffer-Cache Parameters(可配置的文件系统高速缓冲参数): bufpages 静态高速缓冲页面数

Minimum: 0 or 6 (nbuf*2 or 64 pages)

Maximum: 限制的内存

Default: 0

dbc_min_pct 最小动态高速缓冲

Minimum: 2

Maximum: 90

Default: 5

dbc_max_pct 最大动态高速缓冲

Minimum: 2

Maximum: 90

Default: 50

nbuf 静态缓冲头部数

Minimum: 0 or 16

Maximum: 限制的内存

Default: 0

* Configurable Open or Locked Files Parameters(可配置的打开或加锁文件参数): maxfiles 对打开文件的软限制

Minimum: 30

Maximum: 60000

Default: 60

maxfiles_lim 对打开文件的硬限制

Minimum: 30

Maximum: 60000

Default: 1024

nfile 全系统打开文件限制

Minimum: 14

Maximum: 限制的内存

Default: ((16*(nproc+16+maxusers)/10)+32+2*(npty+nstrpty))

nflocks 全系统文件锁限制

Minimum: 2

Maximum: 限制的内存

Default: 200

ninode 内存中打开节点的最大数

Minimum: 14

Maximum: 限制的内存

Default: nproc+48+maxusers+(2*npty)

* Configurable Asynchronous Write Parameter(可配置的异步写入参数):

fs_async 启动/关闭异步磁盘写

Minimum: 0(只使用同步磁盘写)

Maximum: 1(允许异步磁盘写)

Default: 0

* Configurable VxFS (Journaled) File-System Parameter(可配置的VxFS文件系统参数): vx_ncsize 为VxFS目录的路径名高速缓冲所保留的内存空间(以字节为单位)Minimum: 0

Maximum: None

Default: 1024

* Filesystem Performance Parameters(文件系统性能参数):

hfs_ra_per_disk 设置文件系统的预读量(以K字节为单位)

Minimum: -

Maximum: -

Default: 64

hfs_max_ra_blocks (对一个单一的HFS文件系统,核心允许有的未完成的预读块的最大数的上限(以文件系统块为单位))

Minimum: -

Maximum: -

Default: 8

vxfs_ra_per_disk 设置文件系统预读量(以K字节为单位)

Minimum: -

Maximum: -最大预读数是下面两个数中较小的一个:

vxfs_ra_per_disk * (逻辑卷中的磁盘数)

vxfs_max_ra_kbytes

Default: 1024

vxfs_max_ra_kbytes 一个VXFS文件系统可以有的未完成的预读总数的上限(以K字节为单位))

Minimum: -

Maximum: -参见vxfs_ra_per_disk

Default: 1024

1.5.6 Logical Volume Manager (LVM) Subsystem(逻辑卷组管理器(LVM)子系统)

maxvgs 系统中的最大卷组数

Minimum: 1

Maximum: 256

Default: 10

no_lvm_disks 系统中无卷组(只用于700系列))

Minimum: 0(检查LVM磁盘)

Maximum: 1 (系统没有LVM磁盘)

Default: 0

1.5.7 Memory Swap Subsystem(内存交换子系统)

* Memory paging parameters(内存页面参数):

allocate_fs_swapmap 固定的或动态的交换数据结构分配

Minimum: 0(根据需要分配交换数据结构)

Maximum: 1(预先分配必须的核心数据结构)

Default: 0

maxswapchunks 对客户来说,可得到的最大交换空间

Minimum: 1

Maximum: 16384

Default: 256

nswapdev 可得到的交换设备的数量

Minimum: 1

Maximum: 25

Default: 10

nswapfs 系统用于交换的文件数

Minimum: 1

Maximum: 25

Default: 10

page_text_to_local 在客户端启动/关闭文本交换

Minimum: 0(独立方式或客户方式使用文件系统服务器)Maximum: 1 (使用客户本地交换)

Default: 1(使用客户本地交换)

remote_nfs_swap 启动/关闭对远程NFS的交换

Minimum: 0

Maximum: 1

Default: 0

swapmem_on 启动/关闭虚交换保留

Minimum: 0(关闭虚交换保留)

Maximum: 1(启动虚交换保留)

Default: 1

swchunk 客户交换块大小

Minimum: 2048

Maximum: 16384

Default: 2048

* Variable-Page-Size参数:

vps_ceiling 以K字节为单位,最大的系统选择的页面大小Minimum: 4

Maximum: 65536

Default: 16

vps_chatr_ceiling 以K字节为单位,最大的chatr选择的页面大小Minimum: 4 Kbytes

Maximum: 65536 Kbytes

Default: 65536 Kbytes

vps_pagesize 以K字节为单位,缺省用户页面大小

Minimum: 4

Maximum: 65536

Default: 4

1.5.8 Process Management Subsystem(进程管理子系统)maxdsiz 最大进程数据段大小(32位)

Minimum: 0x400000 (4 Mbytes)

Maximum: 0x7B03A000 (大约2 Gbytes)

Default: 0x4000000 (64 Mbytes)

maxdsiz_64bit 最大进程数据段大小(64位)

Minimum: 0x400000 (4 Mbytes)

Maximum: 4396972769279

Default: 0x4000000 (64 Mbytes)

maxssiz 最大进程存储段大小(32位)

Minimum: 0x4000 (16 Kbytes)

Maximum: 0x17F00000 (approx 200 Mbytes)

Default: 0x800000 (8 Mbytes)

maxssiz_64bit 最大进程存储段大小(32位)

Minimum: 0x4000 (16 Kbytes)

Maximum: 1073741824

Default: 0x800000 (8 Mbytes)

max_thread_proc 一个进程所能创建的线程的最大数

Minimum: 64

Maximum: 30000

Default: 64

maxtsiz 最大进程文本段大小(32位)

Minimum: 0x40000 (4 Mbytes)

Maximum: 0x7B033000 (大约2 Gbytes)

Default: 0x4000000 (64 Mbytes)

maxtsiz_64bit 最大进程文本段大小(64位)

Minimum: 0x40000 (4 Mbytes)

Maximum: 4398046511103 (大约4 Gbytes)

Default: 0x4000000 (64 Mbytes)

maxuprc 每个用户的最大进程数

Minimum: 3

Maximum: nproc-4

Default: 50

nkthread 在系统上同时允许的核心线程的最大数

Minimum: 50

Maximum: 30000

Default: (nproc*2)+16

nproc 全系统进程的最大数

Minimum: 10

Maximum: 限制的内存

Default: 20+(8 * maxusers)

timeslice 在竞争进程间的时间片分配

Minimum: -1

Maximum: 2147483647 (大约8个月)

Default: 10(10个10毫秒)

1.5.9 Character-Mode I/O Streams Parameters(字符模式的I/O流参数)NSTRBLKSCHED 厂家使用。不要改变这个值。

NSTREVENT 在系统上,给定时间内,允许存在的未完成流的最大数。Minimum: none

Maximum: none

Default: 50

NSTRPUSH 在系统上,给定时间内,允许存在于任何单个流中的流模块的最大数。Minimum: none

Maximum: none

Default: 16

NSTRSCHED 在系统上,给定时间内,允许运行的流调度程序守护进程的最大数。Minimum: 0

Maximum: 32

Default: 0。

STRCTLSZ 系统中,在任何流消息的控制部分所允许的控制字节的最大数Minimum: 0

Maximum: 限制的内存

Default: 1024 bytes

STRMSGSZ 系统中,可以放置在任何流消息的数据部分的字节的最大数。Minimum: 0

Maximum: 限制的内存

Default: 8192 bytes

nstrpty 在系统上所允许的以流为基础的PTYs的全系统的最大数

Minimum: 0

Maximum: Memory limite

Default: 0

streampipes 强制所有管道以流为基础。

Minimum: 0(创建HP-UX文件系统管道)

Maximum: 1(创建流基础的管道)

Default: 0

1.5.10 System V IPC Shared-Memory Subsystem(系统V IPC共享内存子系统)

* Configurable IPC Message Parameters(可配置的IPC消息参数):

mesg 启动/关闭IPC消息(只用于700系列)

Minimum: 0(从核心中排除系统V IPC消息参数)

Maximum: 1(在核心中包含系统V IPC消息参数)

Default: 1

msgmap 消息空闲空间映射大小

Minimum: 3

Maximum: 限制的内存

Default: msgtql+2

msgmax 最大消息大小

Minimum: 0

Maximum: 65535 bytes

Default: 8192 bytes

msgmnb 消息队列中的最大字节数

Minimum: 0

Maximum: 65535 bytes

Default: 16384 bytes

msgmni 系统中最大消息队列

Minimum: 1

Maximum: 限制的内存

Default: 50

msgseg 在消息队列中的段的数目

Minimum: 1

Maximum: 32767

Default: 2048

msgssz 消息段大小

Minimum: 1

Maximum: 限制的内存

Default: 8 bytes

msgtql 在系统中,总消息的最大数

Minimum: 1

Maximum: 限制的内存

Default: 40

* Configurable IPC Semaphore Parameters(可配置的IPC信号量参数): sema 启动/关闭信号量(只用于700系列)

Minimum: 0(从核心中排除系统V IPC信号量代码)

Maximum: 1 (在核心中包含系统V IPC信号量代码)

Default: 1

semaem 信号量值变化限制

Minimum: 0

Maximum: semvmx 或32767,用较小的一个

Default: 16384

semmap 空闲信号量资源映射的大小

Minimum: 4

Maximum: 限制的内存

Default: semmni+2

semmni 全系统的最大信号量

Minimum: 2

Maximum: 限制的内存

Default: 64

semmns 全系统内,用户可访问的最大信号量

Minimum: 2

Maximum: 限制的内存

Default: 128

semmnu 每个信号量的最大

Minimum: 1

Maximum: nproc-4

Default: 30

semume 每个进程的最大信号量的

Maximum: semmns

Default: 10

semvmx 所允许的信号量值的最大数

Minimum: 1

Maximum: 65535

Default: 32767

* Configurable IPC Shared Memory Parameters(可配置的IPC共享内存参数): shmem 启动/关闭共享内存(只用于700系列)

Minimum: 0 (从核心中排除系统V IPC共享内存代码)

Maximum: 1 (在核心中,包含系统V IPC共享内存代码)

Default: 1

shmmax 最大共享内存段大小

Minimum: 2 Kbytes

Maximum: 1792 Mbytes

Default: 0x04000000 (64 Mbytes)

shmmni 系统上的最大段

Minimum: 3

Maximum: 限制的内存

Default: 200 identifiers

shmseg 每个进程的最大段

Minimum: 1

Maximum: shmmni

Default: 120

1.5.11 VME I/O Subsystem Parameters(VME I/O子系统参数)

vmebpn_public_pages VME所需的核心I/O空间页面数

Minimum: 0

Maximum: 32

Default: 1

vmebpn_sockets 套接字域AF_VME_LINK是激活的(布尔型)

Minimum: 0(AF_VME_LINK 休眠)

Maximum: 1 (AF_VME_LINK激活)

Default: 1(AF_VME_LINK 激活)

vmebpn_tcp_ip DLPI PPAs的最大数

Minimum: 0

Maximum: 1

Default: 1

vmebpn_tcp_ip_mtu 以K字节为单位,最大的PPA发送单元大小Minimum: 0

Maximum: 64

Default: 8

vmebpn_total_jobs 同时打开的VME端口的最大数

Maximum: 8096

Default: 16

vme_io_estimate VME所需的4K字节的核心I/O空间页面数

Minimum: 0

Maximum: 0x800

Default: 0x800

1.5.12 Miscellaneous Parameters(杂项参数)

clicreservedmem 为簇互联所保留的系统内存的字节数

Minimum: 0

Maximum: none

Default: 0

create_fastlinks 创建快速符号连接

Minimum: 0 (不创建HFS快速连接)

Maximum: 1 (创建HFS快速连接)

Default: 0

default_disk_ir 磁盘I/O的即时报告

Minimum: 0 (off)

Maximum: 1 (on)

Default: 0 (off)

dst 启动/关闭白天备份时间

Minimum: 0 (关闭白天备份时间)

Maximum: 5(设置白天备份时间为东欧风格)

Default: 1(设置白天备份时间为美国风格)

eqmemsize 等价地被映射的内存区的大小

Minimum: 0

Maximum: 限制的内存

Default: 15页

ksi_alloc_max 全系统内可分配的排对信号的限制

Minimum: 32

Maximum: 限制的内存

Default: nproc * 8

ksi_send_max 一个进程能发送的,和在一个或多个接受器上等待的排对信号最大数Minimum: 32

Maximum: 限制的内存

Default: 32

max_async_ports 在任何给定时间,进程可以打开的异步磁盘I/O驱动器的端口的最大数Minimum: 1

Maximum: 限制的内存

Default: 50

max_mem_window 启动/配置系统中的内存窗口数

Minimum: 0

Maximum: 限制的内存

maxusers 最大预期的同时存在的用户数

Minimum: 0

Maximum: 限制的内存

Default: 32

ncallout 允许的超时最大数

Minimum: 6

Maximum: 限制的内存

Default: 16+nproc+USING_ARRAY_SIZE+SERVING_ARRAY_SIZE

ncdnode 打开CD_ROM FS节点的最大数

Minimum: 14

Maximum: 限制的内存

Default: 150

nclist 可得到的用于tty/ptyI/O的cblocks的最大数

Minimum: 132

Maximum: 由可得内存限制

Default: (100 + 16 * maxusers)

ndilbuffers 为设备I/O库打开的最大文件数

Minimum: 1

Maximum: 限制的内存

Default: 30

npty 在全系统所允许的最大

Minimum: 1

Maximum: 限制的内存

Default: 60

nstrtel Telnet任务的设备文件数

Minimum: 60

Maximum: 限制的内存

Default: 60

o_sync_is_o_dsync 在open()和fcntl()系统调用中,启动/关闭O_SYNC 到O_DSYNC的翻译Minimum: 0

Maximum: 1

Default: 0

pfail_enabled 启动电源故障恢复

Minimum: 0

Maximum: 1

Default: 0

public_shlibs 在共享库上,允许公共保护IDs

Minimum: 0

Maximum: 1(或非零)

Default: 1

rtsched_numpr 实时安排优先级别数

Minimum: 32

Maximum: 512

scroll_lines ITE滚动缓冲大小

Minimum: 60

Maximum: 999

Default: 100

sendfile_max 网络服务器的特殊参数Minimum: 0

Maximum: 0x40000

Default: 0

bufcache_hash_locks 高速缓冲spinlock库Minimum: 64

Maximum: 4096

Default: 128

chanq_hash_locks 通到队列spinlock库Minimum: 64

Maximum: 4096

Default: 256

ftable_hash_locks 文件表spinlock库Minimum: 64

Maximum: 4096

Default: 64

io_ports_hash_locks I/O端口spinlock库Minimum: 64

Maximum: 4096

Default: 64

pfdat_hash_locks Pfdat spinlock库Minimum: 64

Maximum: 4096

Default: 128

region_hash_locks 处理区spinlock库Minimum: 64

Maximum: 4096

Default: 128

sysv_hash_locks 系统V进程间通讯spinlock库Minimum: 64

Maximum: 4096

Default: 128

vnode_cd_hash_locks Vnode清洁/脏spinlock库Minimum: 64

Maximum: 4096

Default: 128

vnode_hash_locks Vnode spinlock库Minimum: 64

Maximum: 4096

timezone 从Coordinated Universal Time到本地时间,设置时间延迟Minimum: 0

Maximum: 1440

Default: 420

unlockable_mem 为系统应用保留的内存大小

Minimum: 0

Maximum: 在加电时指定的可得到的内存

Default: 0 (系统设置为合适值)

Linux内核修改与编译图文教程

Linux 内核修改与编译图文教程 1

1、实验目的 针对Ubuntu10.04中,通过下载新的内核版本,并且修改新版本内核中的系统调用看,然后,在其系统中编译,加载新内核。 2、任务概述 2.1 下载新内核 https://www.doczj.com/doc/1217561395.html,/ 2.2 修改新内核系统调用 添加新的系统调用函数,用来判断输入数据的奇偶性。 2.3 进行新内核编译 通过修改新版内核后,进行加载编译。最后通过编写测试程序进行测试 3、实验步骤 3.1 准备工作 查看系统先前内核版本: (终端下)使用命令:uname -r 2

3.2 下载最新内核 我这里使用的内核版本是 3.3 解压新版内核 将新版内核复制到“/usr/src”目录下 在终端下用命令:cd /usr/src进入到该文件目录 解压内核:linux-2.6.36.tar.bz2,在终端进入cd /usr/src目录输入一下命令: bzip2 -d linux-2.6.36.tar.bz2 tar -xvf linux-2.6.36.tar 文件将解压到/usr/src/linux目录中 3

使用命令: ln -s linux-2.6.36 linux 在终端下输入一下命令: sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt 4

FANUC 0系统如何保护你的参数和程序不被修改

FANUC 0系统如何保护你的参数和程序不被修改 保护你的程序 FANUC 0系统:修改参数:10.4改为1就可以保护9000~~9999的程序不被修改。 FANUC 0I系统:修改参数:3202#4(NE9)改为1 #0(NE8)改为1就可以保护9000~~9999和8000~~8999的程序不被修改。修改3210的值就可以设置密码了,只有在3211里输入和3210一样的密码才可以修改3020#4为0或1。 保护你的参数: 参数3290.7设定成1可以保护程序和参数,将3290.7设定成1后即无法设定PWE=1参数无法修改,通过设定画面(OFFSET画面)找到3290.7设定成0即可恢复(注意恢复时不是在SYSTEM画面设置参数3290.7而是在设定画面 FANUC系统维修中常用的参数 fanuc系统维修中常用的参数 1.手摇脉冲发生器损坏。一台fanuc 0td数控车床,手摇脉冲发生器出现故障,使对刀不能进行微调,需要更换或修理故障件。当时没有合适的备件,可以先将参数900#3置“0”,暂时将手摇脉冲发生器不用,改为用点动按钮单脉冲发生器操作来进行刀具微调工作。等手 摇脉冲发生器修好后再将该参数置“1”。 2.当机床开机后返回参考点时出现超行程报警。上述机床在返回参考点过程中,出现510 或511超程报警,处理方法有两种: (1)若x轴在返回参考点过程中,出现510或是511超程报警,可将参数0700lt1x1数值改为+99999999(或将0704lt1x2数值修改为-99999999)后,再一次返回参考点。若没有问题,则将参数0700或0704数值改为原来数值。 (2)同时按p和can键后开机,即可消除超程报警。 3.一台fanuc 0i数控车床,开机后不久出现alm701报警。从维修说明书解释内容为控制部上部的风扇过热,打开机床电气柜,检查风扇电机不动作,检查风扇电源正常,可判定风扇损坏,因一时购买不到同类型风扇,即先将参数rrm8901#0改为“1”先释放alm701报警,然后在强制冷风冷却,待风扇购到后,再将prm8901改为“0”。 4.一台fanuc 0m数控系统加工中心,主轴在换刀过程中,当主轴与换刀臂接触的一瞬间,发生接触碰撞异响故障。分析故障原因是因为主轴定位不准,造成主轴头与换刀臂吻合不好,

内核参数的修改方法

Linux内核参数修改方法 由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。 首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是: kernel.shmall = 2097152 kernel.shmmax = 4294967295 如果系统默认的配置比这里给出的值大,就不要修改原有配置。同时在/etc/sysctl.conf文件最后,添加以下内容: fs.file-max = 6553600 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144 这里的“fs.file-max = 6553600”其实是由“fs.file-max = 512 * PROCESSES”得到的,我们指定PROCESSES的值为12800,即为“fs.file-max =512 *12800”。 sysctl.conf文件修改完毕后,接着执行“sysctl -p”使设置生效。 [root@localhost ~]# sysctl -p 常用的内核参数的含义如下。 kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即 “4294967295/1024/1024/1024=4G”。 kernel.shmmni:表示单个共享内存段的最小值,一般为4kB,即4096bit. kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4kB,也就是4096字节。 fs.file-max:表示文件句柄的最大数量。文件句柄表示在Linux系统中可以打开的文件数量。 ip_local_port_range:表示端口的范围,为指定的内容。 kernel.sem:表示设置的信号量,这4个参数内容大小固定。 net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。 net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位) net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。 net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)。

linux环境变量修改

redhat和ubuntu中修改环境变量 2010-03-06 23:43 有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下: (如添加/sbin到PATH环境变量中) (1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以: 输入export PATH=$PATH:/sbin (2)如果只给当前用户永久添加,则: 在~/.bash_profile中的靠近末尾有类似这样的一行 PATH=$PATH:$HOME/bin后添加:/sbin,就变成 PATH=$PATH:$HOME/bin:/sbin 文件修改并保持完以后,运行source ~/.bash_profile命令即可使修改操作立即生效 (3)如果给系统中所有的用户都永久添加,则: 在/etc/profile文件中添加pathmunge :/sbin 如:/etc/profile文件打开后有如下代码 .....................

16 # Path manipulation 17 if [ `id -u` = 0 ]; then 18 pathmunge /sbin 19 pathmunge /usr/sbin 20 pathmunge /usr/local/sbin 21 fi ........................ 你将之改成: ........................ 16 # Path manipulation 17 if [ `id -u` = 0 ]; then 18 pathmunge /sbin 19 pathmunge /usr/sbin 20 pathmunge /usr/local/sbin 21 pathmunge /usr/local/arm/bin 22 fi ....................... 表示将/usr/local/arm/bin添加进环境变量 文件修改并保持完以后,运行source etc/profile命令即可使修改操

linux 内核参数修改

linux 内核参数修改 配置 Linux 内核参数(2种方法),修改后不用重启动更新: /sbin/sysctl -p 第一种:打开/etc/sysctl.conf 复制如下内容 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=262144 net.core.wmem_max=262144 第二种:打开终端 cat >> /etc/sysctl.conf< kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=262144 net.core.wmem_max=262144 EOF 这里,对每个参数值做个简要的解释和说明。 (1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。 (3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。(共享内存段的数量,以页为主,每个页是4K) (4)sem:该参数表示设置的信号量。一般大于maxproc的一点就行了。 (5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。 修改好内核以后,执行下面的命令使新的配置生效。 [root @linux1 /root]# /sbin/sysctl -p 以 root 用户身份运行以下命令来验证您的设置: /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep sem /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep ip_local_port_range 例如: # /sbin/sysctl -a | grep shm kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmax = 2147483648

FANUC系统参数的输入方法

第五节:FANUC系统参数的输入方法 数控系统的参数是机床的重要数据,丢失后将造成机床无法正常运行。这些数据在运行时,是存储在数控系统的内存中的。长时间停电期间,参数靠电池保存。当系统电源受到干扰或电池电压过低时,参数容易丢失或出错。为此,数据应做出书面或磁盘备份。当数据一旦丢失时,可以快速恢复数据。 有时,我们也可能仅需要修改部分数据。下面,我们结合几种典型的系统,说明根据已有备份恢复参数的方法。 一.FANUC 3T系统的手动参数输入(数控车床)该系统数据丢失或出错时,屏幕显示“PARITY ERROR”(校验错误)报警。这时首先要清除原错误数据,再重新输入。要注意的是,这时的NC程序也一起被清除掉了。 恢复系统数据和程序的方法是两个人配合做如下操作: 1.系统停电。 2.把电箱数控主板上端的“PARAMETER INPUT”(参数输入)开关拨到ON位置。屏幕出现“PS100”报警。 3.一个人在操作面板MDI键盘上同时按住RESET键和DEL键。另一个人在数控电箱上启动数控系统。系统启动后,松开两个键,“校验错误”报警可以消除。 4.按下急停按钮,面板开关选择“手动数据输入(MDI)”方式。按键盘上PARAMETER键,进入参数画面。选择参数,相应参数后出现“=”号。5.逐一输入正确参数,INPUT键确认。 6.参数输入完成后,把前面板“程序保护”钥匙开关打开。 7.按下PROGRAM键,调出程序界面,输入正确程序。 8.把主板“参数输入”和前面板“程序保护”开关关掉。 9.按RESET键复位所有故障。 完成上述操作后,重新启动机床,调试设备。 部分修改数据时,可按照2、4、5、8、9几步进行。 二.FANUC 0系统的参数输入(日平磨床) 该系统参数丢失后,不影响数控程序。因此,恢复数据或修改参数,都可以按如下操作进行: 1.面板上选择MDI方式。 2.按下PARAM/DGNOS键,切换到参数界面。 3.翻页到设定参数页面(左上角显 示“PARAMETER(SETTING2)),移动光标到“PWE”,键入“1”,用

如何对CAD变量进行更改

摘要:AutoCAD 是当今最为流行的计算机辅助设计软件,其实,除了我们平时使用的 内核命令以外,AutoCAD 还提供了许多非常实用的附加工具(bonus tools),它们存放在bonus 目录下(R14版),如果用户在自己的AutoCAD 下没有发现该目录,可运行Setup 程序,在Setup Choices 对话框选择“Add ”,添加Bonus 。另外对某些系统变量的重新设置,也可以让我们工作起来得心应手,达到事半功倍的效果。 关键词:AutoCAD 附加工具 系统变量 AutoCAD 是当今最为流行的计算机辅助设计软件,其实,除了我们平时使用的内核命令以外,AutoCAD 还提供了许多非常实用的附加工具(bonus tools),它们存放在bonus 目录下(R14版),如果用户在自己的AutoCAD 下没有发现该目录,可运行Setup 程序,在Setup Choices 对话框选择“Add ”,添加Bonus 。另外对某些系统变量的重新设置,也可以让我们工作起 来得心应手,达到事半功倍的效果。下面向大家介绍几个较为实用的附加工具和系统变量。 系统变量:访问系统变量一般有两种方法:大多数系统变量可以通过下拉菜单或命令来访问(如:用ddunits 命令设置angbase 变量);所有系统变量都能通过Autolisp 程序或在命令行中直接键入该变量名来访问。下面介绍的几个变量。除特殊说明外,均针对R14版。 Angbase 和Angdir :分别控制当前坐标系零度角的方向和角度的旋转方向。地质工作中常用测地坐标,我们可以改变这两个变量的值,使正北方向为零度,坐标按照顺时针方向旋转,符合我们的专业习惯,省去许多中间换算的麻烦。 cursorsize :控制十字叉光标的大小。用过R14以前各版本的用户,或许更习惯于全屏幕十字光标,或需要用全屏幕十字光标来大致对照实体。该变量也正是为满足这这一需要。 dwgcodepage :设置码页(R12版)。许多用户也许正被一个问题困扰:以前用R12版做的图形文件无法在R14版中打开,或者打开后汉字全为乱码。试着在R12版打开该图,改变该变量的值为“iso8859-2”,存盘后再用R14版打开,你会惊喜:一切如前(别忘了:先用Preferences 命令将该图所需要的字体文件目录加入到“surport file search path ”)! Mirrtext :控制文字实体镜向后的显示方向。对文本镜向后,在缺省状态下,文字不具可读性,就象我们在镜子中看到的文字一样,是反写的。将该变量的值改为0,文字镜向后仍然保持原书写方向。 Plinetype :确定是否使用优化的轻便多义线。优化多义线将大大减少存储空间;而为了涉及到Pline 线码表的原Autolisp 程序能依旧运行,有些用户更希望Pline 线仍然为原来格式。 explmode :非等比例插入的块能否炸开。在缺省状态下,非等比例插入的块不会响应explode 命令,改变explmode 的值,可以炸开这种块。 Useri1-Useri5、 Userr1-Userr5、Users1-users5:分别为能存放5个整数、5个实数、5个字符窜的共15个系统变量,变量值随图形文件一起保存(笔者认为只有5个整数、5个实数变量的值才能保存)。程序开发人员可能需要保存图形的某些参数以供程序访问,随图形文件一起保存在这些变量中,不失为一种非常安全、有效的方法。 此外,编程人员经常要用到的,例如:当前图形文件名(包括路径)、当前时间、当前图形修改状态等许多数据或状态,都可以通告访问系统变量而获知。详情请查阅有关资料。 附加工具:由Autodesk 公司免费提供给用户。附加工具本身是程序(包括.lsp 、.arx 和.exe),这些程序由ac_bonus.lsp 统一组织、装入。在ac_bonus.lsp 内部还定义了一些这些程序的公用程序。可以用bonus 菜单(菜单文件名为ac_bonus.mnc)、工具条或者人为装入后用命令来启动。这些程序对 AtuoCAd 内核命令是个非常好的补充,也可以将其修改后加入到自己的lisp 程序中。这里

Linux之TCPIP内核参数优化

Linux之TCPIP内核参数优化 /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径+文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节)。 229376 256960 /proc/sys/net/core/rmem_max 最大的TCP数据接收窗口(字节)。 131071 513920 /proc/sys/net/core/wmem_default 默认的TCP数据发送窗口大小(字节)。

229376 256960 /proc/sys/net/core/wmem_max 最大的TCP数据发送窗口(字节)。 131071 513920 /proc/sys/net/core/netdev_max_backlog 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 1000 2000 /proc/sys/net/core/somaxconn 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。 128 2048 /proc/sys/net/core/optmem_max 表示每个套接字所允许的最大缓冲区的大小。

20480 81920 /proc/sys/net/ipv4/tcp_mem 确定TCP栈应该如何反映内存使用,每个值的单位都是内存页(通常是4KB)。第一个值是内存使用的下限;第二个值是内存压力模式开始对缓冲区使用应用压力的上限;第三个值是内存使用的上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的BDP 可以增大这些值(注意,其单位是内存页而不是字节)。 94011 125351 188022 131072 262144 524288 /proc/sys/net/ipv4/tcp_rmem 为自动调优定义socket使用的内存。第一个值是为socket接收缓冲区分配的最少字节数;第二个值是默认值(该值会被rmem_default覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是接收缓冲区空间的最大字节数(该值会被rmem_max覆盖)。 4096 87380 4011232 8760 256960 4088000 /proc/sys/net/ipv4/tcp_wmem 为自动调优定义socket使用的内存。第一个值是为socket发送缓冲区分配的最少字节数;第二个值是默认值(该值会被wmem_default覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是发送缓冲区空间的最大字节数(该值会被wmem_max覆盖)。 4096 16384 4011232

给变量下定义的方法

第五章给变量下定义的方法 科学研究来不得半点马虎,没有精确也就没有科学。在教育研究之前,首先要对研究问题中的变量作全面、清晰地了解。对研究问题中变量的表述要尽可能清晰、准确,不得含糊其辞。因此,我们要对研究问题中涉及的某些词语或术语作出精确的说明,为了便于研究的可操作性和可行性,还有必要对有关变量涉及的词语或术语下操作性定义。给变量下抽象定义和操作性定义是研究科学性的体现,也是研究者必须具备的基本素质。 一、变量的定义与操作 在研究设计过程中,我们常常会遇到教育领域中的一些变量(概念),如教学,素质,教学目标,创造性等。对这些变量,不同的人由于经验、认识、所处地位、理解角度等的差异,可能会作出不同的解释。为了使其他人能在共同理解的基础上探讨问题,为了使研究结论准确可靠,研究者必须厘清概念的含义,在厘清概念的基础上,确定测量方法或操作性定义。厘清概念通常是给概念下抽象性定义(概念性定义),规定测量指标则是给概念下操作性定义。 课题的主要变量或概念一经确定,接下来的事就是要给这些变量下定义,界定变量的含义。但是变量是有变化、有差异的因素,人们对它们的理解和认识往往不一致,解释也不尽相同,另外人们通常所使用的词汇术语的含义是模糊的和会意的,变量本身不会告诉我们需要收集什么样的资料或怎样进行测量,然而科学研究要求我们必须使每一个术语具有明确的含义。因此在研究设计时有必要使研究变量精确化、概念化,具体描述变量含义,赋予变量以意义,在某种程度上使研究者和读者形成共识。 当然现实生活中的模糊观念是可以转化为可认知的、可测量的概念的。美国心理学家桑代克(E. L. Thorndike)认为:凡客观存在的事物都有其数量,任何存在的事物都是可以测量的,只不过测量的方式方法不同罢了。只要变量存在,就能对其进行测量,这是科学研究的基本原则和前提。但测量要达到的精确程度是有区别的。下面是巴比(Earl Babbie)在《社会研究方法》一书中所用的一个例子①: 我:社会科学家可以对任何存在的事物进行测量。 你:哈!我赌你做不到。 我:你告诉我要测量什么吧,我可以告诉你如何去测量它。 你:好吧,怎样测量“偏见”。 我:不错的选择。不过,我不愿意把时间浪费在一些根本不存在的事物上。你说,社会上真的有偏见吗? 你:当然!谁都知道有偏见。谁都知道!如果你够聪明的话,我想你也知道。傻瓜也知道。 我:从前每个人都认为地球是平的。我想知道的是,你怎么知道就真的存在偏见? 你:好了,好了!你似乎不会“观察”。好了,“我看见过偏见。” 我:你到底看到了什么?偏见是怎样存在的呢? 你:我认识一个生意人,他说他永远也不会让女人做主管,因为他认为女人不着边际,而且没有理性。看吧!这个例子不错吧! ①(美)巴比著;邱泽奇译,《社会研究方法》(上册),华夏出版社,2000年,第150-151页。

查看HP-UX内核参数命令

sysdef kmtune -l 仅供参考: acctresume 和acctsuspend 只在启用HP-UX 统计时使用。这些变量是统计日志文件所在文件系统(缺省情况下为/var/adm)的百分比。在文件系统自 由空间降到acctsuspend指定的百分比(绝对百分比)时,即终止统计;只有达到分配给acctresume的百分比时才能恢复。 例如: acctsuspend 分配0 (假定缺省的文件系统值)- 当自由空间低于minfree(缺省情况下为10%,在bdf输出中文件系统将显 示100%使用)时,统计将被终止。如果acctresume为80,当文件系统的利用率降到80%时(bdf显示),就会再次启用统 计。重新启用统计后,就会产生“Accounting resumed”信息。 欲了解其它信息,请参考/usr/share/doc/doc_map.txt中所列的统计白皮书以及统计帮助信息。bufpages 这个值以前用于定义为文件系统IO中使用的高速缓冲区分配的物理内存量(以4096字节页面为单位)。 以前的HP-UX版本一般将10% 的物理内存用于此任务,但是最近的版本已实现了内存的动态分配。在10.X版中,如果 bufpages是一个非零值,它就成为高速缓冲区可用内存页面的最大值,实质变成一个限制,尽管可能很少使用,但不会超过这个值。在10.X版中,bufpages经常设为0,它表示请求动态高速缓冲区,dbc_min_pct 和dbc_max_pct参数将设置一个高速缓冲区允许的可用内存的最小和最大百分比。 在9.X版中,高速缓冲区的内存用bufpages变量明确确定。如果/etc/conf/dfile (700系列)或/etc/conf/gen/S800(800系列)中缺少了这个变量,高速缓冲区就被设为可用内存的10%;否则该值以页面(4096字节)数填入。 create_fastlinks 允许在HFS文件系统内创建高速符号链接。版本注释中应当包含有关的附加信息。从根本上来说,高速符号链接减少了磁盘 块访问,从而略微减少磁盘IO。 * 注:在10.0以前的800系统或9.0以前的700系统上没有这个变量。 dbc_max_pct 和dbc_min_pct 这两个变量定义缓冲文件系统页(也叫做高速缓冲区)可用的内存百分比范围。适当取值一般可以产生以下效果: - 低于或等于95% 的读缓冲命中率- 低于或等于70% 的写缓冲命中率 用sar -b 5 5 (分别为%rcache 和%wcache)可以对该值进行监视。也许可以保证减少读缓冲命中。 为高速缓冲分配过多内存的另一个现象可能是用户响应时间中无法解释的偶然或间歇性停顿。dbc_min_pct的缺省值是5, dbc_max_pct的缺省值是50。在许多情况下,建议为高速缓冲区分配200mb或更少的内存空间。Dbc_max_pct是机器上一个 主要的减少对象,在其中可以观察到内存压力,以及刚才所描述的停顿。 default_disk_ir

修改LINUX内核报告

操作系统实验一 一、基本信息: 实验题目:向Linux内核新增一个系统调用 完成人姓名:袁昌铃学号:71115138 报告日期:2017.3.18 二、实验目的: 通过实验,熟悉Linux操作系统的使用,掌握构建与启动Linux内核的方法;掌握用户程序如何利用系统调用与操作系统内核实现通信的方法,加深对系统调用机制的理解;进一步掌握如何向操作系统内核增加新的系统调用的方法,以扩展操作系统的功能。 三、实验内容: 1. Linux环境下的C或C++编译和调试工具的使用。 2. 向Linux内核增加新的系统调用,系统调用名称和功能自行定义,但必须实现如下输出功能:“My Student No. is ×××,and My Name is ×××”。 3. Linux新内核的编译、安装和配置。 4. 编写应用程序以测试新的系统调用并输出测试结果。 四、实验步骤: 准备 源码下载 内核源码下载 下载合适内核, 我选择的是目前最新的linux-4.10。 Busybox 源码下载

下载Busybox, 我选择的是目前最新的 busybox-1.26.2。 目录设置 上面两个源码压缩包下载后解压到下面对应目录。 o $KERNEL 内核工作目录 o $LINUX Linux 内核源码目录 o $BUSYBOX Busybox 源码目录 PS: $KERNEL 目录是另外两个目录的父目录。 编译 kernel 编译 1 2 3 4 5 6 7 8 9 cd $LINUX # 此处应为你的 linux 源码根目录 make x86_64_defconfig cat <.config-fragment CONFIG_DEBUG_INFO=y CONFIG_GDB_SCRIPTS=y EOF ./scripts/kconfig/merge_config.sh .config .config-fragment # -j? 可加快编译速度。若报错取消该选项方便查看报错信息 make bzImage -j4 若遇到编译报错 1 s cripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: 没有那个文件或目录 安装 Openssl 即可 1 s udo apt-get install libssl-dev Busybox 编译 设置编译选项 因为Linux 运行环境当中是不带动态库的,所以必须以静态方式来编译BusyBox 。

模型1 输入参数和输出参数 (修改)

1. 模型概况 (1)模型输入参数总览 (2)模型风荷载信息 风压单位: kN/m2迎风面积单位: m2 本层风荷载、楼层剪力单位:kN 楼层弯矩单位: kN.m

表1 X向顺风向风荷载信息 (3)工况组合 表2 工况设定

表3 组合系数

(4)模型配筋信息 ①一、二、三、四层配筋

②五层配筋

2. 分析结果 (1)结构周期 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-65-6-5 G 0.4-0.45-0-65-6-5 G 0.4-0.45-0-65-6-5 G 0.4-0.45-0-65-6-5 G 0.4-0.45-0-65-6-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-65-6-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-55-6-5 G 0.4-0.45-0-55-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-65-6-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-65-5-5 G 0.4-0.46-0-55-6-5 G 0.4-0.45-0-55-5-5 G 0.4-0.4 6-0-55-6-5 G 0.4-0.46-0-55-6-5 G 0.4-0.46-0-55-6-5 G 0.4-0.46-0-55-6-5 G 0.4-0.46-0-55-6-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 G 0.4-0.45-0-55-5-5 (0.03) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.03) 2.0 8 8G 1.3-0.0 1.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.0 1.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.09) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.0 1.2 (0.03) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.05) 2.0 8 8G 1.3-0.01.2 (0.03) 2.0 8 8G 1.3-0.0 1.2

错误 参数类型错误

错误参数类型错误 当我运行程序后,输入插入点,提示:错误:参数类型错误:numberp: nil 为什么? 我用autolisp编制绘向心球轴承的二维图形,程序如下: (defun c:zch1 (/ p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 pc1 pc2 a fx1 fx2 t1 ) (setq d (getreal"\n 输入轴承外径")) (setq d1 (getreal"\n 输入轴承内径")) (setq b (getreal"\n 输入轴承宽度")) (if (> d 40) (setq t1 1.5) ;t1为绘制刨面线的线间距比例因子 (setq t2 0.7) ) (setq a (/ (- d d1) 2.0) ) ;计算三个中间参数值 (setq fx1 (/ pi 2)) (setq fx2 (/ (* 3 pi) 2)) ) (setq p0 (getpoint"\n 输入图形插入点:")) (setq p1 (polar p0 fx1 (/ d 2.0))) (setq p2 (polar p1 0 b)) (setq pc1 (list (+ (car p0) (/ b 2.0)) (+ (cadr p0) (/ (- d a) 2.0)))) (setq pc2 (polar pc1 fx2 (- d a))) (setq p9 (polar pc1 (/ (* pi 11) 6) (/ a 4))) (setq p8 (polar pc1 (/ (* pi 7) 6) (/ a 4))) (setq p4 (polar pc1 (/ pi 6) (/ a 4))) (setq p5 (polar pc1 (/ (* pi 5) 6) (/ a 4))) (setq p3 (list (car p2) (cadr p4))) (setq p6 (list (car p1) (cadr p5))) (setq p7 (list (car p1) (cadr p8))) (setq p10 (list (car p2) (cadr p9))) (setq p11 (polar p2 fx2 a)) (setq p12 (polar p1 fx2 a)) (setq p13 (polar p0 fx2 (/ d1 2.0))) (setq p14 (polar p13 0 b)) (setq p15 (polar p2 fx2 (/ d 2.0))) (setq p16 (polar p15 0 b)) (nlayer) ;调用层设置函数 (command "zoom" "w" (polar p1 fx1 10) (polar p16 fx2 10)) (command "layer" "s" 1 "") ;绘制轴承的上半部分 (command "pline" p1 p2 p3 p4 "") (command "arc" p4 "ce" pc1 "a" 120) (command "pline" p5 p6 p1 "") (command "pline" p6 p7 p8 "") (command "arc" p8 "ce" pc1 "a" 120)

Uboot如何向内核传递参数

Uboot如何向内核传递参数 一:启动参数的传递过程 启动参数是包装在数据结构里的,在linux kernel启动的时候,bootloader把这个数据结构拷贝到某个地址, 在改动PC跳向内核接口的同时,通过通用寄存器R2来传递这个地址的值,下面这句话就是uboot跳向linux kernel的代码(bootm命令) theKernel (0, bd->bi_arch_number, bd->bi_boot_params); thekernel其实不是个函数,而是指向内核入口地址的指针,把它强行转化为带三个参数的函数指针,会把三个 参数保存到通用寄存器中,实现了向kernel传递信息的功能,在这个例子里,会把R0赋值为0,R1赋值为机器号 R2赋值为启动参数数据结构的首地址 因此,要向内核传递参数很简单,只要把启动参数封装在linux预定好的数据结构里,拷贝到某个地址(一般约定俗成是内存首地址+100dex) 二:启动参数的数据结构 启动参数可保存在两种数据结构中,param_struct和tag,前者是2.4内核用的,后者是2.6以后的内核更期望用的 但是,到目前为止,2.6的内核也可以兼容前一种结构,两种数据结构具体定义如下(arm cpu): struct param_struct { union { struct { unsigned long page_size; /* 0 */ unsigned long nr_pages; /* 4 */ unsigned long ramdisk_size; /* 8 */ unsigned long flags; /* 12 */ #define FLAG_READONLY 1 #define FLAG_RDLOAD 4 #define FLAG_RDPROMPT 8 unsigned long rootdev; /* 16 */ unsigned long video_num_cols; /* 20 */ unsigned long video_num_rows; /* 24 */ unsigned long video_x; /* 28 */ unsigned long video_y; /* 32 */ unsigned long memc_control_reg; /* 36 */ unsigned char sounddefault; /* 40 */ unsigned char adfsdrives; /* 41 */ unsigned char bytes_per_char_h; /* 42 */ unsigned char bytes_per_char_v; /* 43 */ unsigned long pages_in_bank[4]; /* 44 */ unsigned long pages_in_vram; /* 60 */

修改方法

第一章, 我们的修改就是能将游戏中已经出现过的招式效果,特殊效果,人物动作重新组合,组成人物招式的基本是“动作”。一般情况下,一个动作能释放一次打击,一次招式效果等。每个动作都已mot为基础,mov和atk来修饰。我不知道官方认定的mot、mov、atk的定义,理解是,mot控制动作的形态,mov引入这个动作并修饰,atk接着修饰。引入动作靠的是代码。不同的mot用不同的代码,两个同样mot代码的动作行为一样(废话)。不包含有些参数会让代码代表另一层意义的情况。 第二章, 初用修改器 下载了修改器之后,在“文件——打开存档(自动)”后就能修改游戏记录了。我们这里所说的修改不是简单地修改存档。招式修改,需要修改内存。 具体方法:打开修改器之后,在“选项——设置游戏路径”中找到游戏目录(以无双大蛇Z有linkdata为名的文件所在文件架为准),然后你会发现“编辑——LINKDATA”下的内容都可选了,这样就可以进行修改了(还灰着?重开一次修改器试试)。 这里主要涉及的内容就是武将MOV,武将ATK和招式效果。当然其他内容拿来修改也非常爽,不过我不太会,这里不作说明。 非常重要的三项还有——保存LINKDATA,生成EXE补丁和MOT和ATK 项目设置。每次修改结束之后必须保存LINKDATA之后修改才能生效;

生成EXE补丁就是吧修改后的内容制作成补丁(里面的内容也非常容易理解);MOT和ATK项目设置就是设置显示哪些人物的修改内容,前面有名字的大伙都知道,后面没名字的是一些特殊兵种、机械、大众脸什么的。 这里要直接给大家一点修改者的习惯,有了这些习惯能提高一点修改效率和避免一些麻烦。 1. 在做修改之前先做还原。做单个人物修改就做单个人物还原,做招式效果修改就做效果还原。最好有一个完全还原,几个临时还原(就是将这次修改之前的所有内容记录)。修改器没有撤销操作,但是还原可以做到撤销的功用(对于单个动作手滑,想挽回损失也有更简单的办法,这里不赘述)。放补丁的时候提供还原。啥?咋做还原?死脑筋,把修改之前的内容生成EXE补丁不就等于制作了还原补丁了么。 2. 在修改一个武将之前充分熟悉该武将的动作。嗯……这是废话,不过要想将动作熟悉达到充分的程度,至少你要能经常看到以下几种动作:无双动作(包括两种收尾动作),普通合体无双收尾动作(在299行),特殊合体无双动作(更靠下),低等级使用动作(比如三国武将第四方收尾动作),消耗无双的R技……一般在修改一个人物之前要对人物进行一些处理(比如在第一方让人物加很多无双,使用某种发动方式让不易跳转出来的动作放出来——我习惯用强弱杀阵分别测试299行和153、155、157行——看不懂的请先无视)。多用这些不容易看

相关主题
文本预览
相关文档 最新文档