Mapped Memory란?
Mapped Memory는 CUDA 2.2부터 추가된 새로운 기능입니다. 지금까지 CUDA 프로그래밍 구조에서는 Host Memory(호스트머신 위의 메인 메모리)와 Device Memory(GPU상의 비디오메모리)는 완전히 별개의 주소공간 위의 메모리로서 명확하게 나눌 수 있었습니다. 그러나 Mapped Memory를 사용하여 이러한 차이를 명확하게 구별하지 않고 CUDA 프로그래밍을 실시할 수 있게 됩니다.


무엇보다, Mapped Memory를 사용하는 본래의 목적은 위와 같은 편리성보다 실제적인 성능 향상에 있습니다. Host Memory와 Device Memory의 사이의 데이터 전송은 레지스터나 공유 메모리의 액세스에 비하면 훨씬 더 저속 PCI 버스를 통해 실행되기 때문에 많은 경우 이 부분이 보틀 넥이 됩니다.


이 통신을 고속화하는 것은 매우 중요한 과제가 되지만 Mapped Memory에 의한 전송과 CUDA의 통상적인 메모리 API를 이용한 전송에서 대략적으로 1.5배에서 2배 정도의 성능 향상이 있습니다. 하지만, Mapped Memory의 몇가지 특성을 파악한 다음 사용하지 않으면 반대로 성능이 저하되기도 합니다. 다음은 Mapped Memory의 간단한 사용법과 실제로 사용했을 때의 벤치마크와 그 결과에 대해 말합니다.


기본적인 사용법
Mapped Memory 사용 순서는 다음과 같습니다.

1. 디바이스에 Mapped Memory를 사용하기 위한 플래그를 세트 한다
2. Host Memory를 Mapped Memory 전용으로 할당한다
3. 2로 확보한 Host Memory를 Device Memory에 맵하여 디바이스로부터 Mapped Memory에 액세스하기 위한 포인터를 동기획득 한다
4. 3으로 동기획득 한 포인터를 사용하여 Kernel 내부로부터 Mapped Memory에 액세스하여 적당한 크기의 데이터를 로드, 스토어 한다
5. 계산이 종료되면 Mapped Memory를 해제한다


다음 예제는 일차원 배열의 각 요소를 인크리먼트(increment)하는 CUDA 프로그램입니다.

// includes, system
#include <stdio.h>

// includes, project
#include <cuda.h>

// some defines
#define VECTOR_SIZE 1024
#define BLOCK_SIZE 256

///////////////////////////////////////////////////////////////////////////////
// Kernel
////////////////////////////////////////////////////////////////////////////////
__global__ void vectorInc(unsigned int* A)
{
    unsigned int index = blockDim.x * blockIdx.x + threadIdx.x;
    unsigned int a;

    a = A[index];

    a++;

    A[index] = a;

    return;
}

////////////////////////////////////////////////////////////////////////////////
// Program Main
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char** argv)
{
    // 디바이스에 플래그를 세트
    cudaSetDeviceFlags(cudaDeviceMapHost);
 
    // Host Memory를 Mapped Memory로서 할당
    unsigned int* h_A;
    cudaHostAlloc((void**) &h_A, VECTOR_SIZE*sizeof(unsigned int), cudaHostAllocMapped);
 
    // 배열의 초기화
    for( unsigned int i = 0; i < VECTOR_SIZE; i++) {
 h_A[i] = (unsigned int) i;
    }

    // Host Memory를 Device Memory에 맵 한다
    unsigned int* d_A;
    cudaHostGetDevicePointer((void **) &d_A, (void *) h_A, 0);
 
    // Kernel를 실행한다
    vectorInc<<<VECTOR_SIZE/BLOCK_SIZE, BLOCK_SIZE>>>(d_A);
 
    // 결과의 표시
    for( unsigned int i = 0; i < VECTOR_SIZE; i++) {
 printf("h_A[%d]:%d\n", i, h_A[i]);
    }
    
    // 메모리의 해제
    cudaFreeHost(h_A);
 
    cudaThreadExit();
 
    return 0;

}

배열의 초기화나 결과 출력의 코드가 들어가 있있지만 main 함수는 다음 순서대로 구현되고 있는 것을 알 수 있습니다.

통상적인의 Device Memory와 비교
비교를 위하여 통상적인 메모리를 사용하고 전송을 명시적으로 실시했을 경우의 프로그램의 main 함수를 봅시다.

int main(int argc, char** argv)
{

    // Host Memory를 확보
    unsigned int* h_A;
    cudaHostAlloc((void**) &h_A, VECTOR_SIZE*sizeof(unsigned int), cudaHostAllocMapped);
 
    // 배열의 초기화
    for( unsigned int i = 0; i < VECTOR_SIZE; i++) {
 h_A[i] = (unsigned int) i;
    }

    // Device Memory를 할당
    unsigned int* d_A;
    cudaMalloc((void**) &d_A, VECTOR_SIZE*sizeof(unsigned int));
 
    // Host Memory로부터 Device Memory에 데이터를 전송 한다
    cudaMemcpy(d_A, h_A, VECTOR_SIZE*sizeof(unsigned int), cudaMemcpyHostToDevice);

    // Kernel를 실행한다
    vectorInc<<<VECTOR_SIZE/BLOCK_SIZE, BLOCK_SIZE>>>(d_A);

    // Kernel의 종료를 기다린다
    cudaThreadSynchronize();

    // Device Memory로부터 Host Memory에 데이터를 전송 한다
    cudaMemcpy(h_A, d_A, VECTOR_SIZE*sizeof(unsigned int), cudaMemcpyDeviceToHost);

 
    // 결과의 표시
    for( unsigned int i = 0; i < VECTOR_SIZE; i++) {
 printf("h_A[%d]:%d\n", i, h_A[i]);
    }
    
    // 메모리의 해제
    cudaFree(d_A);
    cudaFreeHost(h_A);
 
    cudaThreadExit();
 
    return 0;

}

코드를 살펴보면 알수 있겠지만 통상적인 Device Memory와 Mapped Memory를 사용할 때 다른 부분은 다음과 같습니다.

1. 플래그를 설정 유무
2. cudaMemcpy에 의한 전송 실시 유무
3. Device Memory의 메모리 할당과 해제 실시 유무

포인트는 Kernel측의 변경은 일절 실시하지 않고 사용할 수 있는 것입니다. Kernel 내부의 액세스 전에 통상적인 Global Memory인 경우는 Device Memory의 액세스로 처리됩니다. Mapped Memory인 경우에는 자동적으로 PCI를 개입시켜 데이터 전송이 실행됩니다. Kernel 내부의 계산과 PCI 버스를 개입시킨 데이터 전송을 비동기로 실행할 수 있게 됩니다. 이것이 Mapped Memory가 효율적으로 데이터 전송을 실시할 수 있는 이유입니다.


벤치마크
Mapped Memory를 사용해, 실제의 성능측정을 실시한 결과가 다음의 그래프입니다. 비교 대상은 통상적인 메모리 영역(malloc()로 할당한 것)와 페이지 락을 실시한 메모리 영역(cudaHostAlloc()로 할당한 것)와 디바이스 메모리간의 전송을 측정하였습니다.


Mapped Memory의 전송 성능이 그래프에 나타난 것처럼 Mapped Memory의 전송 성능이 cudaMemcpy에 의해 전송을 실시하는 것보다 고속입니다. 이것은 Kernel 실행 중에 비동기화 메모리 전송을 실시할 수 있어서, cudaMemcpy()에 의한 데이터 전송이 PCI 버스를 한쪽방향 통신 밖에 사용할 수 없는 것에 비해 Mapped Memory에 의한 데이터 전송은 양방향 통신이 가능한 것이 고속데이터 전송이 가능한 이유라 할 수 있습니다.

다만 여기서 나타낸 예는 Global Memory에 대해서 시퀀셜 액세스 했을 경우의 벤치마크입니다. 직접접근의 경우는 PCI의 통신이 적은 데이터로 많은 회수를 사용하면 반대로 전송 성능이 낮아질 수 있습니다. Mapped Memory를 사용할 때, Global Memory의 액세스 패턴의 최적화의 중요성은 더욱 커지기 때문에 이 부분을 주의하여 프로그램 설계할 필요가 있습니다.


출처 - http://goparallel.egloos.com/1968095




'Computer Science > Parallel Computing' 카테고리의 다른 글

CUDA(Compute Unified Device Architecture)  (0) 2013.03.25
OpenMP  (0) 2013.03.25
병렬 컴퓨팅  (0) 2012.11.03
메시지 전달 인터페이스(Message Passing Interface, MPI)  (0) 2012.11.03
Posted by linuxism
,


* 실행 환경 페도라. (우분투도 크게 다르지 않음)


1. ftp 다운로드 하기

]# yum install vsftpd

 -> vsftp는 ftp 이름이다. profrp 도 있다. 원하는 대로 하면 됨.


2. ftp 환경설정

]# vi /etc/vsftpd/vsftpd.conf

=========== vsftpd.conf ================

#임의의 사용자에게 공개할 것인지를 뜻하는 부분 공개 ftp가 아니라면 주석처리 해준다.

# anonymous_enable=YES



# 접속한 사용자가 상위 폴더를 이용하지 못하도록 하는 부분.
# ftp 프로그램 (알 ftp같은 것) 을 이용한다면 상위폴더에 접근 가능하므로 이것을 막아준다.
# 아래 부분의 주석처리를 해지해 준다.
# chroot_list는 어떤 conf 파일에서는 /etc/vsftpd.chroot_list로 되어있는 경우가 있다.
# 상관없으니 그냥 되어 있는대로 하면 됨.

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list



# 저장
================================================

이제 어떤 ID를 상위폴더에 접근하지 못하게 할 것인지를 설정한다.
vsftpd.conf 파일에서 지정해준 chroot_list 위치대로 파일을 연다. (없을때는 그냥 생성 됨)

]# vi /etc/vsftpd/chroot_list

접근을 막을 ID를 써준다. (한줄에 하나씩)


3. ftp 실행

vsftp 데몬을 재시작.

]# /etc/init.d/vsftpd restart

=====================================================

ffp는 리눅스의 일반계정에 등록되어 있는 계정을 쓰면 된다.


출처 - http://danggi.egloos.com/3433249




Posted by linuxism
,


Openfire Properties

VERSION 34  Click to view document history
Created on: Aug 29, 2007 11:32 AM by slushpupie - Last Modified:  Sep 23, 2012 4:32 PM by rcollier

This is an attempt at documenting every property used by Openfire.  Please keep this list in alphabetical order, for easier searching.

 

  1. XML Properties

  2. Openfire System Properties

  3. Java System Properties

  4. Http-Bind Properties

 

#

XML Properties

 

Property

Description

Default

admin.authorizedUsernames

A comma seperated list of usernames allowed to log into the admin console.

admin

admin.authorizedJIDs

A comma seperated list of full JID's allowed to log into the admin console. The JIDs may belong to remote users.


adminConsole.port

The port number the admon console listens on (not encrpyted). Disable by using \-1.

9090

adminConsole.securePort

The port number the admin console listens on (encrypted). Disable by using \-1.

9091

connectionProvider.className

The class name of the database connection provider


database.defaultProvider.driver

seehttp://www.igniterealtime.org/builds/openfire/docs/latest/documentation/database .html

database.defaultProvider.serverURL

seehttp://www.igniterealtime.org/builds/openfire/docs/latest/documentation/database .html


database.defaultProvider.username

TODO


database.defaultProvider.password

TODO


database.defaultProvider.minConnections

minimum database connections


database.defaultProvider.maxConnections

maximum database connections TODO


database.defaultProvider.connectionTimeout

database connection timeout


database.defaultProvider.testSQL

SQL command to test whether a connection is fine


database.defaultProvider.testBeforeUse

true / false - test connection before using it


database.defaultProvider.testAfterUsetrue / false - test connection after using it
database.defaultProvider.checkOpenConnectionTODO - is it still valid?
database.defaultProvider.openConnectionTimeLimitTODO - is it still valid?

database.mysql.useUnicode

TODO


database.JDNIProvider.name

TODO


ldap.adminDN

a directory administrator's DN. All directory operations will be performed with this account. The admin must be able to perform searches and load user records. The user does not need to be able to make changes to the directory, as Openfire treats the directory as read-only. If this property is not set, an anonymous login to the server will be attempted. If you do not allow anonymous searches to your LDAP server, you must set this.


ldap.adminPassword

the password for the directory administrator.


ldap.alternateBaseDN

a second DN in the directory can optionally be set. If set, the alternate base DN will be used for authentication and loading single users, but will not be used to display a list of users (due to technical limitations).


ldap.authCache.enabled

Enable LDAP authentication cache, if using the LdapAuth provider

true

ldap.authCache.maxLifetime

TODO


ldap.authCache.size

Cache size (in bytes) for LDAP authentication cache

524288

ldap.autoFollowReferrals

a value of "true" indicates that LDAP referrals should be automatically followed. If this property is not set or is set to "false", the referral policy used is left up to to the provider. A referral is an entity that is used to redirect a client's request to another server. A referral contains the names and locations of other objects. It is sent by the server to indicate that the information that the client has requested can be found at another location (or locations), possibly at another server or several servers.


ldap.baseDN

the starting DN that searches for users will performed with. The entire subtree under the base DN will be searched for user accounts. This is required for all LDAP setups.


ldap.clientSideSorting

If Openfire should sort the LDAP results itself set to true. If the ldap server can do it, set to false.

False

ldap.connectionPoolEnabled

a value of "false" disables LDAP connection pooling.

true

ldap.debugEnabled

a value of "true" if debugging should be turned on. When on, trace information about buffers sent and received by the LDAP provider is written to System.out


ldap.emailField

the field name that holds the user's email address. If this property is not set, the default value is mail. Active Directory users should use the the default value mail.


ldap.groupDescriptionField

the field name that holds the description a group. If this property is not set, the default value is description.


ldap.groupMemberField

the field name that holds the members in a group. If this property is not set, the default value is member.


ldap.groupNameField

the field name that the groupname lookups will be performed on. If this property is not set, the default value is cn.This is required if you wish to use groups from LDAP.


ldap.groupSearchFilter

the search filter that should be used when loading groups.

ldap.groupNameField=

ldap.host

LDAP server host; e.g. localhost or machine.example.com, etc. It is possible to use many LDAP servers but all of them should share the same configuration (e.g. SSL, baseDN, admin account, etc). To specify many LDAP servers use the comma or the white space character as delimiter. Obviously, this is required for LDAP setups.


ldap.initialContextFactory

the name of the class that should be used as an initial context factory. if this value is not specified, "com.sun.jndi.ldap.LdapCtxFactory" will be used instead. Most users will not need to set this value.


ldap.nameField

the field name that holds the user's name. If this property is not set, the default value is cn. Active Directory users should use the default value displayName.

cn

ldap.port

LDAP server port number.

389

ldap.posixMode

a value of "true" means that users are stored within the group by their user name alone. A value of "false" means that users are stored by their entire DN within the group. If this property is not set, the default value is false. Note: the posix mode must be set correctly for your server in order for group integration to work. This is required if you wish to use groups from LDAP.


ldap.sslEnabled

a value of "true" to enable SSL connections to your LDAP server. If you enable SSL connections, the LDAP server port number most likely should be changed to 636.


ldap.searchFields

the LDAP fields that will be used for user searches. If this property is not set, the username, name, and email fields will be searched. An example value for this field is "Username/uid,Name/cname". That searches the uid and cname fields in the directory and labels them as "Username" and "Name" in the search UI. You can add as many fields as you'd like using comma-delimited "DisplayName/Field" pairs. You should ensure that any fields used for searching are properly indexed so that searches return quickly.


ldap.searchFilter

the search filter that should be used when loading users.

The default search will be for users that have the attribute specified by ldap.usernameField.

ldap.usernameField

the field name that the username lookups will be performed on. If this property is not set, the default value is uid. Active Directory users should try the default value sAMAccountName.


ldap.vcard-mapping

The literal mapping between ldap fields and the XML to go in the vcard


log.debug.enabled

Turn on debug logging


log.debug.format

The format used for debug logging


log.debug.size

The maximum size of the debug log


log.directory

The directory all log files will go into


log.error.format

The format used for the error log


log.error.size

The maximum size of the error log


log.info.format

The format used for the info log


log.info.size

The maximum size of the info log


log.warn.format

The format used for the warn log


log.warn.size

The maximum size of the warn log


locale

The locale (language settings)


nativeAuth.domain

TODO


network.interface

An ip address to bind to. Generally only useful on multi-homed systems.


pop3.authCache.enabled

TODO


pop3.authCache.maxLifetime

TODO


pop3.authCache.size

TODO

512*1024

pop3.authRequiresDomain

TODO


pop3.debug

TODO


pop3.domain

TODO


pop3.host

TODO


pop3.port

TODO


pop3.ssl

TODO


provider.auth.className

The class name of the AuthProvider (Authentication)


provider.user.className

The class name of the UserProvider


provider.group.className

The class name of the GroupProvider


provider.vcard.className

The class name of the VcardProvider


sasl.mechs

Configure which authorization mechanisms Openfire allows (DIGEST-MD5 PLAIN CRAM-MD5). Java's CRAM-MD5 implementation and Cryus SASL's implementation differ slightly. To remove CRAM-MD5 add &lt;sasl&gt;&lt;mechs&gt;DIGEST-MD5 PLAIN&lt;/mechs&gt;&lt;sasl&gt; to openfire.xml

ANONYMOUS

PLAIN

DIGEST-MD5

CRAM-MD5

JIVE-SHAREDSECRET

sasl.approvedRealms



sasl.gssapi.config



sasl.gssapi.debug


false

sasl.gssapi.useSubjectCredsOnly


false

sasl.realm



setup

True if Openfire has been configured. False only after an initial install before configuring.


 

#

Openfire System Properties

 

Property

Description

Default


cache.name.maxLifetime

Cache expiration time for name in milleseconds.

see How to configure Openfire's caches

cache.name.size

Cache size for name in bytes

see How to configure Openfire's caches

locale.timeZone

The timezone for your locale



dnsutil.dnsOverride

(!http://www.igniterealtime.org/issues/images/icons/newfeature.gif! [JM-711\

http://www.igniterealtime.org/issues/browse/JM-711]) Internal DNS that allows to specify target IP addresses and ports to use for domains. Sample values for the property (make sure to insert no space characters!):

{example.com,127.0.0.33:5269}

{example.com,127.0.0.33:5269},{de.de,192.168.0.33:4567}


flash.crossdomain.enabledBoolean for if the flash cross domain server is enabled (new in OF 3.6.5)true
flash.crossdomain.portInteger for the port number to listen on for crossdomain requests (new in OF 3.6.5)5229
hazelcast.config.xml.filenameName of the Hazelcast configuration file. By overriding this value you can easily install a custom cluster configuration file in the Hazelcast plugin /classes/ directory, or in the classpath of your own custom plugin.hazelcast-cache-config.xml
hazelcast.max.execution.secondsMaximum time to wait when running a synchronous task across members of the cluster.30
hazelcast.startup.delay.secondsNumber of seconds to wait before launching the Hazelcast plugin. This allows Openfire to deploy any other plugins before initializing the cluster caches, etc.5
hazelcast.startup.retry.countNumber of times to retry initialization if the cluster fails to start on the first attempt.1
hazelcast.startup.retry.secondsNumber of seconds to wait between subsequent attempts to start the cluster.10
ldap.override.avatarWhen enabled allows users to changer/add an avatar openfire servers  bound to LDAP that do not have an LDAP defined avatar.  The Property  Values are true or false.true

mail.debug

Enable debugging for mail.



mail.smtp.host

The SMTP Hostname to use



mail.smtp.password

The SMTP Password to use when using SMTP Auth



mail.smtp.port

The port to use for SMTP

25


mail.smtp.ssl

Enable SSL for smtp

false


mail.smtp.username

The SMTP Username to use when using SMTP Auth



mediaproxy.enabled

The value "false" if the Openfire media proxy should not be enabled. The media proxy allows Jingle clients to communicate when peer to peer connections fail (such as when behind a strict firewall).

true (a null value means true)


mediaproxy.idleTimeout

The maximum amount of time (in milleseconds) to wait before a media proxy session is closed when there is no activity.

90000


mediaproxy.portMin

The minimum port value that the media proxy will use for UDP client connections. The port range must be large enough to handle as many client connections as will occur.

10000


mediaproxy.portMax

The maximum port value that the media proxy will use for UDP client connections. The port range must be large enough to handle as many client connections as will occur.

20000


passwordKeyKey used to decrypt Blowfish encrypted passwords in 'ofUser.encryptedPassword' (when user.usePlainPassword is set to false)randomly generated when detected as null

plugins.upload.enabled

Enables the ability to upload plugins from the admin interface.

true


register.inband

Allow inband registration

true


register.password

Allow inband password changes

true


route.all-resources

Enable routing of messages to base JID to every client logged in with the same base JID (different resources) and the same (highest) priority

false


rss.enabled

Enable or disable the RSS feed in the admin console http://www.igniterealtime.org/issues/browse/JM-1172

true


shutdownMessage.enabled

If true, send a shutdown message to all connected users before terminating the server



update.lastCheck

Keep track of the last time we checked for updates. Don't edit this value.



update.proxy.host

Sets the host of the proxy to use to connect to jivesoftware.org or 'null' if no proxy is used.



update.proxy.port

Sets the port of the proxy to use to connect to jivesoftware.org or \-1 if no proxy is being used.



user.usePlainPasswordSets wether the password for users is stored in the database in plaintext format in the ofUser.plainPassword column, or encrypted using the Blowfish algorithm in the ofUser.encryptedPassword column, using the key found in the "passwordKey" property.false

xmpp.audit.active

Turn on packet auditing



xmpp.audit.ignore

A comma seperated list of users to ignore when auditing packets



xmpp.audit.iq

If true, audit ip packets



xmpp.audit.logdir

The directory to put the audit file in



xmpp.audit.logtimeout

TODO



xmpp.audit.maxcount

TODO



xmpp.audit.maxsize

TODO



xmpp.audit.message

If true, audit message packets



xmpp.audit.presence

If true, audit presence packets



xmpp.audit.xpath

TODO



xmpp.auth.anonymous

True if anonymous authentication is allowed



xmpp.auth.retries

Number of failed authentication attempts allowed.

3


xmpp.client.compression.policy

TODO



xmpp.client.idle

Time in millesconds to disconnect an idle client. Use -1 to disable.

6 * 60 * 1000 (thanks Keehong)


xmpp.client.login.allowed

A comma seperated list of IP addresses clients are allowed to log in from



xmpp.client.roster.active

Enables the roster for clients. If false, it is not possible to retrieve users rosters or broadcast presence packets to roster contacts.



xmpp.client.tls.policy

TODO



xmpp.client.validate.host

If true, validate the hostname in the stream header sent by clients.



xmpp.command.limit

TODO



xmpp.command.timeout

TODO



xmpp.component.defaultSecret

TODO



xmpp.component.permission

TODO



xmpp.component.socket.active

TODO



xmpp.component.socket.port

TODO



xmpp.domain

The name of the server

127.0.0.1)


xmpp.forward.admins

TODO



xmpp.muc.create.anyone

Permission policy for creating rooms. Set to false to allow anyone to create rooms, true to restrict to jids listed in xmpp.muc.create.jid. Note: The meaning is reversed:-)

false


xmpp.muc.create.jid

List of JIDs that are allowed to create a MUC room.



xmpp.muc.discover.locked

Checks if the room may be included in search results.

true


xmpp.muc.enabled

Set this to false to disable MUC / conference. Requires server restart. (looks like it doesnt work on 3.6.4 - wroot)

true


xmpp.muc.history.maxNumber

The maximum number of chat history messages stored for the room.

25


xmpp.muc.history.type

Set history strategy type. Valid values: defaulType, none, all, number

number


xmpp.muc.service

Host name of MUC service. Requires server restart.

conference


xmpp.muc.skipInvite(3.7.0+) Disable the auto invitation of newly added members to a MUC chatroom's access control list.false

xmpp.muc.sysadmin.jid

Load the list of JIDs that are system admins of the MUC service.



xmpp.muc.tasks.log.batchsize

The number of messages to log on each run of the logging process.

50


xmpp.muc.tasks.log.timeout

The number of milliseconds to elapse between logging of room conversations.

300000


xmpp.muc.tasks.user.idle

The number of milliseconds a user must be idle before he/she gets kicked from all the rooms.

-1


xmpp.muc.tasks.user.timeout

The number of milliseconds before clearing of idle chat users.

300000


xmpp.muc.unload.empty_days

The server will unload from memory persistent rooms that have been empty for 30 (default) days. The room will still exist in the database and users may still join. The only consequence is that it won't appear in the discovery list. This option is valid for prior 3.6.0 versions only. As 3.6.0 has introduced multiple conference services.

30


xmpp.offline.quota

How many messages to store before bouncing or dropping as per xmpp.offline.type

100 * 1024 messages?

xmpp.offline.type

Controls the strategy for handling messages to offline users:

- bounce: All messages are bounced to the sender.

- drop: All messages are silently dropped.

- store: All messages are stored

- store_and_bounce: Messages are stored up to the storage limit, and then bounced.

- store_and_drop: Messages are stored up to the storage limit, and then silently dropped.

store_and_bounce

xmpp.parser.buffer.size

since 3.5.2 / JM-1350: XMLLightweightParser allows N Bytes of buffered data before closing a potential dangerous connection to avoid an Out-Of-Memory error.

1048576


xmpp.privateStorageEnabled

TODO



xmpp.proxy.enabled

TODO



xmpp.proxy.externalip

Some servers are setup to use DNS SRV records. In that case, their domain may not the actual server address. For example, the DNS SRV record for igniterealtime.org could point to a server at xmpp.igniterealtime.org. This will affect non XMPP traffic like the file proxy transfer service, since the proxy service can't give out the normal XMPP domain name and have that work. 
When this property is set, the file transfer proxy service will advertise the given IP address rather than the XMPP server domain.



xmpp.proxy.port

TODO



xmpp.proxy.service

TODO



xmpp.pubsub.create.anyoneDetermines if anyone can create nodes

xmpp.pubsub.create.jidList of JID's of those that are allowed to create nodes

xmpp.pubsub.enabled

since 3.5.0 / JM-1262: Disable pubsub by setting this value to false

true


xmpp.pubsub.multiple-subscriptionsTurns the ability to have multiple subscriptions to a node on/offtrue
xmpp.pubsub.root.creatorSpecifies the JID of the root node creator

xmpp.pubsub.root.nodeIDSpecifies the id of the root collection node

xmpp.pubsub.serviceThe pubsub service namepubsub
xmpp.pubsub.sysadmin.jidSets the specified JID's as pubsub admins

xmpp.pubsub.flush.timerThe time delay (in seconds) between flushing of the published items cache to persistent storage.120 (seconds)
xmpp.pubsub.flush.maxThe maximum number of items the published items cache will hold before it flushes itelf to persistent storage.1000
xmpp.pubsub.fetch.maxThe maximum number of items that a get items operations on a node will return.  Openfire doesn't support Result Sets in pubsub yet, so making this number too large will cause memory and performance issues.2000
xmpp.pubsub.purge.timerThe time delay (in seconds) to purge stale data from the database.300 (seconds)

xmpp.server.certificate.accept-selfsigned

TODO



xmpp.server.certificate.verify

TODO



xmpp.server.certificate.verify.chain

TODO



xmpp.server.certificate.verify.root

TODO



xmpp.server.certificate.verify.validity

TODO



xmpp.server.compression.policy

TODO



xmpp.server.dialback.enabled

TODO



xmpp.server.outgoing.threads

TODO



xmpp.server.permission

TODO



xmpp.server.processing.threads

TODO



xmpp.server.read.timeout

TODO



xmpp.server.session.allowmultiple

TODO



xmpp.server.session.idle

TODO



xmpp.server.session.timeout

TODO



xmpp.server.socket.active

TODO



xmpp.server.socket.port

TODO



xmpp.server.socket.remotePort

TODO



xmpp.server.tls.enabled

TODO



xmpp.session.conflict-limit

TODO



xmpp.session.sending-limit

TODO



xmpp.socket.plain.active

TODO



xmpp.socket.plain.port

TODO



xmpp.socket.ssl.active

TODO



xmpp.socket.ssl.algorithm

TODO



xmpp.socket.ssl.keypass

TODO



xmpp.socket.ssl.keystore

TODO



xmpp.socket.ssl.port

TODO



xmpp.socket.ssl.storeType

TODO



xmpp.socket.ssl.trustpass

TODO



xmpp.socket.ssl.truststore

TODO



 

#

Java System Properties

 

Property

Description

Default

app.name

"Openfire"


appdir

The location Openfire is installed in


java.library.path

Where to look for the native library path for NativeAuthProvider


line.separator

What the default line seperator is.

"\n"

mrj.version

Only used for OS detection in Mac OS


pluginDirs

The directory the plugins live in


os.name

The OS Name (eg "Windows 2000").

Automatically set by Java

whack.componentManagerClass

TODO


openfire.lib.dir

The place to look for ServerStarter.

'../lib'

openfireHome

The location where Openfire is installed in


For plugins (gateway), see http://www.igniterealtime.org/community/docs/DOC-1002


#

Http-Bind Properties

 

Property
Description
Default
log.httpbind.enabledPrint all packets which were sent or received via http-bind to STOUT.false
xmpp.httpbind.client.idleSeconds a session has to be idle to be closed30
xmpp.httpbind.client.requests.maxthe number of simultaneous requests allowable.2
xmpp.httpbind.client.requests.waitthe longest time (in seconds) that Openfire is allowed to wait before responding to any request during the session.0x7fffffff
xmpp.httpbind.client.requests.pollingthe maximum allowable period over which a client can send empty requests to the server.5


출처 - http://community.igniterealtime.org/docs/DOC-1061



Posted by linuxism
,