LING #1 에서.. 서버 GC문제
263
작성자 없음
0 asked
요즘도 여전히 LINQ는 GC문제를 야기할 가능성이 있어 UNITY에서는 피하는 편입니다.
서버의 경우 GC를 끄고 점검때 재부팅하는식으로 뭐 좀 쌓이든 비효율적이든 대충 뭉개고 갔었었고요.
유니티는 뭐 저사양 기기도 생각해야 하니 여전히 저럴 것이고
서버에서 최신 사양의 C# 버전을 택했을때 LINQ가 메모리 문제를 야기할 가능성은 없나요...
음...애초에 저런거 일일이 잡느니 램증설각이 보이긴 하네요
Answer 3
0
안녕하세요, 인프런 AI 인턴입니다.
LINQ와 관련하여 C#에서는 여전히 메모리 사용이 문제가 될 수 있는데요, 특히 유니티와 같은 경우에는 LINQ 사용시 불필요한 가비지 컬렉션이 일어날 수 있기 때문에 성능 문제를 감안하여 사용을 자제하기도 합니다.
최신 C# 버전에서는 LINQ가 발달하여 성능이 향상되었다고는 하나, 여전히 잘못된 사용이나 잘못된 환경에서는 메모리 문제를 일으킬 수 있습니다. LINQ는 내부적으로 ‘foreach’ 구문과 유사하게 동작하며 필요한 데이터를 필터링하거나 수집할 때 임시 객체를 생성할 수 있고, 이는 GC가 수명 주기를 관리하도록 할 수 있습니다.
이러한 문제를 해결하기 위해 다음과 같은 방식으로 접근할 수 있습니다:
LINQ 사용법 최적화: 필요하지 않은 경우 중간 결과나 IEnumerable 번역을 피하고, 예외적으로 LINQ 메소드를 재구성하여 불필요한 객체 생성이 없도록 최적화합니다.
메모리 풀링: 메모리 사용이 많은 경우, 오브젝트 풀링 기술을 도입하여 메모리를 재사용 가능하게 하는 것도 좋은 방법입니다.
메모리 프로파일링: C#의 메모리 프로파일러와 같은 도구를 통해 메모리 사용 패턴을 분석하여 최적화합니다.
추가적으로 관련된 질문과 답변을 통해 깊이 있는 정보를 얻을 수 있는 링크를 공유드립니다:
- C# 서버에 관해서
- 메모리가 줄줄 새고 있습니다
이 게시물들은 LINQ와 C#의 가비지 컬렉션 관련한 실제 경험과 해결 방법을 다루고 있어, 도움이 되실 것입니다. 링크를 통해 기존 사례를 살펴보시고, 최적화 방법을 검토해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
클래스 라이브러리 (.NET Core)이 없으면 클래스 라이브러리 선택하시면 됩니다.
0
135
1
NET 9.0 버전에서의 레이아웃 적용
1
171
1
Visual Studio 2022에서 프로젝트 만들기 질문
0
317
2
MVC를 제대로 이해를 못했는데,
0
175
1
ASP.NET
0
153
1
자바스크립트 내용이 나오나요?
0
170
1
웹 사이트 보안
0
213
2
blazor실습 시 바인딩 관련 및 버튼이 동작하지 않는 이슈가 있으면? ( .NET 8.0 기준 )
3
373
1
Uri함수 파라미터 주소에 sslport번호를 넣으면 무한 로딩이걸림
0
498
2
An unhandled exception has occured. See browser dev tools for detail.
0
341
2
EFCore 포렌키 설정 관련 질문(Entity Framework Code First One-to-Many Relationship)
0
364
3
DB 설정 관련해서 질문 드립니다
0
424
3
10분 48초 부근에 안 되는 사람들 참고하세요
1
548
1
ArgumentException: Keyword not supported: 'trust server certificate'.
0
859
1
Need Summary 부분 질문있습니다!
0
311
1
계속 똑같은 에러가 뜹니다 ㅠㅠ
0
490
1
이번 강의 코드를 받을 수 있을까요?
0
371
1
ATOM이 2022년 12월 15일 기준 종료되었네요
0
567
1
CounterState 질문입니다.
0
401
1
"연결이 비공개로 설정되어 있지 않습니다." 오류가 뜰 경우
0
1828
2
백엔드 서버에 JPA를 사용해도 문제가 없을까요?
0
570
1
SendPostRequest 에서 POST 중복된 값이 추가되는 것을 방지하려면 어떻게 하면 될까요?
0
458
1
Task<WeatherForecast[]> 를 List<Task<WeatherForecast>> 이렇게 고친 후
0
401
1
웹서버로 턴제 카드게임 구현가능할까요?
0
1631
1

