프로그래밍 QnA

lecirar의 이미지

리눅스에서 데몬 동작 시간이 지날수록 파일 엑세스 시간이 길어지는데..

파일 업/다운 서버 역할의 데몬을 개발했는데 동작 시간이 길어지면 질수록 점점 파일에 대한 엑세스 시간이 길어지네요.

처음 실행한지 약 7일정도 지나면 파일 오픈하는데만 1초가 넘게 걸리기 시작합니다.

메모리 릭을 의심해서 valgrind로 체크해 봤지만 별다른 릭은 없었습니다.

혹시 이런 증상이 있을 경우 의심해 봐야될 부분이 있다면 조언 부탁드립니다.

pyobegy의 이미지

QTcpsSocket 블러킹모드 로 제작했을때, waitForReadyRead 에서 지연현상 ...

QThread 내부 run() 함수내부에 아래와 같이 read 하는 부분이 블러킹 모드로 잘 돌아가고 있습니다.

문제는.... 엄청 느리다는게 문제입니다.

waitForReadyRead 이 함수에서 상당시간 기다림을 하고 있는 것 같은데..

winsock 을 사용할때는 break point 를 거는 것 조차 미안할 정도로 빠르게 돌거든요..

음... 어찌하면 QTCPSocket 의 블러킹 모드를 빠르게 구현할 수 있을런지요?

한번더 도움을 청합니다. ㅠㅠ 쥘쥘

bool stream::ReadBuf(char* pBuf,int len)

{
if (m_socket.state() == QAbstractSocket::ConnectedState)
{
bool bReady = m_socket.waitForReadyRead(3000) ;

bigbaby의 이미지

소켓 커넥션 풀...

소켓 커넥션 풀 관련 좋은 책이나 사이트 추천부탁드립니다. ^^

커넥션 풀을 클라이언트쪽에서 사용하고 싶은데...

마땅한 자료가 없네요 ㅠㅠ

kkb의 이미지

파일에 저장된 내용을 파싱해서 변경하려고 합니다

# cat ./test.txt
(생략)
Name = Kim
math = 92
english = 88
science = 90
Name = Lee
math = 92
english = 88
science = 90
Name = Park
math = 92
english = 88
science = 90
(생략)

Lee의 english 점수를 수정하고 싶다면 주로 어떤 방법이 좋을까요?
스크립트, sed, C언어 코드 등 방법에 제한은 없습니다

저는 예를 들어서 english 점수를 수정하는 것은 여러가지 방법으로 구현할 수 있겠는데
학생 이름을 선택해서 english 점수를 수정하는 것이 좀 난감합니다
english에 해당하는 라인이 많으니까요

그리고 학생수와 과목수가 변할 수 있기 때문에 유연한 방법이 필요합니다

mclljr의 이미지

[해결]페이지 url 표시 형식에 대해서... 질문해요

보통보면, url 에 파라미터를 붙혀서 데이터를 전달하거나 하잖아요?! http://kldp.org&node=add&form=0 등등등..

이걸 http://kldp.org/node/add/forum/0 이런 식으로 ,지금 kldp 처럼 어떤게 구현하는건가요?????

혹시 볼만한 사이트라도 있다면 감사하겠어요..ㅠ.ㅠ

lmk378의 이미지

virtual address를 physical address로 바꿔주는 모듈을 작성하였습니다.

dmesg시 다음과 같이 출력됩니다.

[ 1241.158217] in ioctl
[ 1241.158223] vaddr : 992b008
[ 1241.158226] pgd : dfbad098
[ 1241.158232] pte : 9e71c4ac
[ 1241.158234] paddr : 9e71c4b4

최초 virtual address(vaddr)가 0x992b008 입니다.
pte값이 page base address가 될것입니다.
헌데 page base address이므로 4k의 배수가 될것으로 생각되는데
그렇게 나오지는 않네요.
때문에 올바르게 짠건지 잘 판단이 안섭니다.
physical address(paddr)는 pte + 0x008(vaddr & 0xfff)입니다.
올바르게 만든것인가요?
혹시 버디 슬랩 할당자 때문에 4k의 배수가 아닐수도 있는건가요?

mani85의 이미지

나빌눅스 실습하다가 qemu에서 발생한 문제점 입니다ㅜ

오늘 우분투로 개발환경 구축하다가 하루 다 보내네요 ㅠ
모두다 해결하고 이제 끝났나 싶었는데..

qemu-system-arm으로 gumtix의 u-boot를 다음과같이 올리면
$ /usr/bin/qemu-system-arm -M connex -pflash u-boot.bin -nographic

qemu:Error registering flash memory 라고 뜹니다.

*지금 환경은 : vmware player 에서 ubuntu10.04 LTS로
gcc3.4로 다운그레이드 했고요.

bbyongi의 이미지

kernel source에서 특정 조건일때 linux 커맨드 실행이 가능한가요?

예를들면 kernel source 상에다 INT 신호를 받아서

if(INT == high)
    리눅스의 "mkdir /a"
else
    리눅스의 "rm -rf /a"

이런식으로 커널 source에서 상황에 따라 자신의 시스템에 있는
shell command 혹은 toolbox 커맨드를 실행하는 것이 가능한가요?

이런게 실제로 가능한건지 말도 안되는 질문인지도 잘 모르겠습니다.

커널 개발경력이 없다시피 하기에 이런 기초적인 질문을 드립니다.

eyes852의 이미지

[완료]fgetc, fputc, fflush 함수 소스를 어디 가서 볼 수 없을까요?

저 셋 함수 말고도 파일 스트림을 사용하는 함수들이 어떤 식으로 구현되어있는지 보고 싶은데요...

안에서는 아마 open, read, write, close들로 작성되 있겠지만,
어떤식으로 구현해놨는지 몹시 궁금해서요;

내부적으로 버퍼를 가지고 있다고 알고 있는데
버퍼를 어떤 식으로 사용하고 있는지도 궁금하네요;

akayong의 이미지

freebsd 에서 process별 메모리 사용량을 구하는 방법이 뭐가 있을까요?

안녕하세요,

실제 돌아가고 있는 서버들에 대하여 모니터링 시스템을 만들고자 합니다.

리눅스 같은 경우, /proc/?PID?/status 에서 값을 갖고 와서 계산을 하고
윈도우 같은 경우 윈도우 API 를 사용하여 계산을 하는데

freebsd 같은 경우 어떻게 특정 process의 메모리 사용량을 구할 수 있을지 알수가 없네요(freebsd는 처음이라.. 헤메고 있습니다)
구글링을 아무리 해 보아도, 잘 나오지 않는데,
freebsd 는 /proc/?PID?/status 에는 메모리 관련 내용이 없는것 같고
/proc/?PID?/mem 이 있지만, 이부분은 access 할 수가 없네요 권한이 r이 설정 되어 있어도...

top 말고 알 수 있는 방법 있을까요?

페이지

프로그래밍 QnA 구독하기