database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29862 게시물 읽기
No. 29862
MySql 메모리 설정에 관련 질문 입니다.
작성자
염진근
작성일
2010-12-07 09:44
조회수
16,135

MySQL을 설치한 서버가 CPU가 8개이고, RAM이 32G 입니다.

그런데 이 서버의 MySQL 설정 시 RAM을 모두 활용 하지 못하는것 같습니다.

몇몇 파라메터 값을 조금이라도 높게 설정하면 최대 메모리 초과 라는 메세지와 함께 MySQL 인스턴스가 시작 되질 않습니다.

다음은 My.ini 파일의 설정 값입니다. 확인 후 조언 좀 부탁드립니다.

[mysqld]

skip-locking
skip-name-resolve

port=3306

basedir="C:/Program Files/MySQL/MySQL Server 5.1/"

datadir="D:/MySQL Datafiles/"

default-character-set=euckr

default-storage-engine=INNODB

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=1000

query_cache_type=2

query_cache_limit=1M

query_cache_min_res_unit=16M

query_cache_size=16M

#*** MyISAM Specific options

table_cache=6020

tmp_table_size=256M

thread_concurrency=16

thread_cache_size=64

myisam_max_sort_file_size=10M

myisam_sort_buffer_size=10M

key_buffer_size=64M

read_buffer_size=64K

read_rnd_buffer_size=64M

sort_buffer_size=64M


#*** INNODB Specific options ***

innodb_data_home_dir="D:/MySQL Datafiles/"

#skip-innodb

innodb_additional_mem_pool_size=64M

innodb_flush_log_at_trx_commit=0

innodb_log_buffer_size=8M

innodb_buffer_pool_size= 1G
 
innodb_log_buffer_size = 8M

innodb_log_file_size= 1024M

innodb_log_files_in_group = 3

innodb_thread_concurrency=18

innodb_file_io_threads = 8

innodb_lock_wait_timeout = 120

innodb_file_per_table

innodb_data_file_path=ibdata_t7rtms:10M:autoextend

long_query_time=1

log-queries-not-using-indexes

#log-warnings

expire_logs_days=15

net_read_timeout=300

server-id=0

show-slave-auth-info

replicate-do-db=t7rtms.%

max_allowed_packet=16M

net_buffer_length=16M

##########################

특히 위의 innodb_buffer_pool_size의 경우 물리 메모리의 50%-80%까지 지정 가능하다고 하는데 1G 이상으로 지정 시 메모리 초과 오류가 발생합니다.

어떻게 해야 할지 조언 좀 부탁드립니다.

이 글에 대한 댓글이 총 6건 있습니다.

 

 

혹시 32bit  로 설치 하신건 아니겠죠 -_-;; 그냥 혹시나 하고 물어봅니다.

32비트 일경우 제한은 있는데...

 

그냥 MySQL 버젼  한번 확인 해보심이~

민족님이 2010-12-07 13:35에 작성한 댓글입니다. Edit

조금더 구체적으로 어떤 오류인지 적어주시면 좀더 정확한 답변을 해드릴 수 있을듯합니다.

혹 유닉스에서 DB에서 사용되는 메모리영역은 OS에서 별도로 설정해줘야 하는 경우가 있는데 이 경우가 아닌가 싶네요.

공유 메모리 및 Semaphores 설정으로 검색해보세요.

 

윤주헌(blueruin)님이 2010-12-08 00:13에 작성한 댓글입니다.

발생하는 오류는 다음과 같습니다.(Server쪽에서 발생한 오류가 아니라 비슷한 오류를 임의로 사용하는 PC에서 발생시긴 것 입니다.)

[Note] Plugin 'FEDERATED' is disabled.
101208 10:09:51  InnoDB: Error: cannot allocate 3221241856 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 12973292 bytes. Operating system errno: 8
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...

운영체제는 32bit 맞습니다. 32bit에서도 4GB까지는 사용이 가능한것 아닌가요? 물리 메모리가 32GB인데 어째서 4GB도 인식을 하지 못하는거죠?

염진근님이 2010-12-08 10:27에 작성한 댓글입니다. Edit

 

 

32비트 이시면... 32비트 설치 하셨겠네요??

 

32비트 제약사항에 메모리 제한이 걸려 있습니다.

 

그래서 그런거 같은데요...한번 확인 해보세요~

민족님이 2010-12-08 12:01에 작성한 댓글입니다. Edit

일단 제시해주신 파일명이 my.cnf가 아닌 my.ini인 것에 의거해, 32bit windows를 기준으로 말씀드립니다.

 

32bit OS에서는 물리 메모리 용량에 관계 없이, 하나의 프로세스에 할당되는 가상메모리는 4GB가 됩니다.

 

이 중, 커널 영역 1GB 를 제외하면 실제로는 3GB 미만이 사용자 영역에서 할당할 수 있는 최대 크기가 됩니다. 물론 커널 영역의 크기는 OS마다 다릅니다만, 32bit 윈도우는 PAE(Physical Address Extension)를 사용하지 않으면 2GB가 사용자 영역의 최대 크기입니다.  ( PAE는 다음 링크를 참조하세요 : http://support.microsoft.com/kb/291988/ko )

 

다음 문서를 참고하시면 도움이 될 것 같습니다.

http://www.nicklib.com/bbs/board.php?bo_table=bbs_platform&wr_id=63&sca=Windows

박현우(lqez)님이 2010-12-08 21:44에 작성한 댓글입니다.
이 댓글은 2010-12-08 21:56에 마지막으로 수정되었습니다.

감사합니다.

여러분의 조언 덕분에 해결의 실마리를 찾았습니다.

물리 메모리 조정 부분하고 커널 메모리 부분을 생각을 못했었네요.

앞으로도 데이터베이스 사랑 자주 이용해야 될 것 같네요.

정말정말 감사드립니다.

 

염진근님이 2010-12-08 23:43에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29866MySQL 5.1 조합형 한글 Insert
동이
2010-12-10
8395
29865Replication에 대해서 질문드립니다. [3]
박정웅
2010-12-10
8008
29863게시물, 코멘트 2개 테이블로부터 특정 단어 검색 결과를 내는 쿼리
지앤미
2010-12-08
8298
29862MySql 메모리 설정에 관련 질문 입니다. [6]
염진근
2010-12-07
16135
29861mysql 간단한 질문! [1]
nmj
2010-12-07
7127
29859mysql 업로드 같은 값이면 하나만 남게... [1]
허점강
2010-12-03
7888
29858함수로 데이타 불러올때 한글이 깨집니다.. [1]
김영범
2010-12-03
9399
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다