- Remove From My Forums
-
Question
-
Hi,
I’m using SQL Server Express 2012. I have database with 200 Mb actually.
So, I want to know If is it normal
if the process (app) ‘SQL Server Windows NT — 64 Bit’ use 400 MB from Ram (at all) and CPU up to 46% some times ?If my Server receive DDOS Attak on the TCP port of database ? How can I detect ? How can I solve it.
Thanks
-
Edited by
Wednesday, February 11, 2015 2:25 PM
-
Edited by
Answers
-
Hi nadjibnet,
SQL Server Windows NT -64 Bit is known as sqlservr.exe process, it is normal that SQL Server consumes as much memory as possible since SQL Server likes to cache data in memory to speed up access. You might have long running queries on SQL Server. Do you
find any performance issues?If SQL Server is not installed on a dedicate production machine and you have other applications on the machine, you could limit the memory usage by
configuring Max Server Memory according to your situation.In addition, about how to detect DDOS attack and block it, you could refer to the following article:
https://sulich.wordpress.com/2012/06/27/detecting-ddos-attack-in-windows/. I suggest you to post the questions in the
Windows Server forums. It is appropriate and more experts will assist you.
Regards,
Michelle Li-
Edited by
Michelle Li
Thursday, February 12, 2015 7:25 AM -
Marked as answer by
nadjibnet
Thursday, February 12, 2015 10:00 AM
-
Edited by
SQL Server – это мощная реляционная система управления базами данных, широко используемая для обработки и хранения огромных объемов информации. Однако, при работе SQL Server может возникнуть проблема избыточного потребления памяти. Это может привести к снижению производительности сервера и возникновению различных ошибок.
Основная причина избыточного потребления памяти в SQL Server на операционной системе Windows NT 64 заключается в неправильной конфигурации памяти для SQL Server. По умолчанию SQL Server использует динамическое управление памятью, что может привести к тому, что SQL Server будет потреблять всю доступную оперативную память на сервере.
Решение этой проблемы состоит в настройке максимального объема памяти, который будет использоваться SQL Server. Необходимо установить разумное значение этого параметра, которое будет учитывать другие процессы и сервисы на сервере.
Для решения проблемы избыточного потребления памяти в SQL Server Windows NT 64, следует создать файл конфигурации SQL Server и указать в нем максимальный объем памяти. Затем необходимо повторно запустить SQL Server и проверить использование памяти.
Таким образом, настройка максимального объема памяти для SQL Server Windows NT 64 – это один из ключевых пунктов оптимизации работы SQL Server и предотвращения избыточного потребления памяти.
Содержание
- SQL Server Windows NT 64: проблема избыточного потребления памяти
- Симптомы избыточного потребления памяти
- Причины избыточного потребления памяти в SQL Server
- Как определить, что SQL Server использует избыточное количество памяти
- Расширение доступной памяти для SQL Server
SQL Server Windows NT 64: проблема избыточного потребления памяти
Проблема:
Возможно, вы столкнулись с ситуацией, когда SQL Server, работающий на Windows NT 64, потребляет избыточное количество памяти. Это может привести к снижению производительности сервера и возникновению других проблем.
Причины:
Избыточное потребление памяти может быть вызвано несколькими факторами:
- Неправильная конфигурация SQL Server.
- Крупные и сложные запросы, которые потребляют большое количество памяти.
- Отсутствие оптимизации работы с памятью в SQL Server.
Решение:
Для решения проблемы избыточного потребления памяти в SQL Server Windows NT 64 можно предпринять следующие действия:
- Проанализировать и оптимизировать настройки SQL Server. Убедитесь, что вы используете рекомендуемые настройки для вашей версии SQL Server и конфигурации вашего сервера.
- Оптимизировать запросы. Избегайте создания крупных и сложных запросов, которые потребляют большое количество памяти. Используйте индексы, чтобы ускорить выполнение запросов.
- Настроить пул буферов. Установите оптимальный размер пула буферов, чтобы избежать избыточного использования памяти.
- Использовать функцию диспетчеризации памяти Windows (AWE), если ваш сервер поддерживает больше 4 ГБ физической памяти.
- Проверить наличие и устранить возможные утечки памяти в приложениях, работающих с SQL Server.
Внимание: Перед внесением каких-либо изменений в настройки вашего SQL Server рекомендуется создать резервные копии данных и выполнить тестирование изменений в контролируемой среде.
Симптомы избыточного потребления памяти
Неконтролируемое и избыточное потребление памяти сервером SQL Server на операционной системе Windows NT 64 может вызвать ряд характерных симптомов, указывающих на проблемы. Ниже приведены некоторые из них:
- Замедленная производительность сервера SQL Server. Если сервер начинает работать медленнее, чем обычно, и имеются подозрения на перегруженность памяти, избыточное потребление памяти может быть одной из причин.
- Увеличенное время отклика. Если время отклика сервера SQL Server становится более долгим, это может указывать на проблемы с памятью. Длительные задержки в ответах на запросы могут быть связаны с ограничениями в памяти, вызванными неправильной конфигурацией или избыточным использованием ресурсов.
- Нехватка оперативной памяти. Если сервер SQL Server часто испытывает проблемы с нехваткой памяти и часто выполняет операции с укороченным временем жизни, это может означать, что память не правильно настроена и эффективно не используется.
- Ошибка «Out of memory». Если память заканчивается и сервер SQL Server не может выделить больше памяти для работы, это может вызвать ошибку «Out of memory». Это может быть результатом избыточного потребления памяти процессами или неправильных настроек памяти на сервере.
- Увеличенное использование дискового пространства. Если сервер SQL Server использует неоправданно большое количество дискового пространства, это может быть связано с избыточным потреблением памяти. Неправильно настроенная память может привести к неэффективному использованию кэша и прерыванию дисковых операций для поиска данных, что может привести к увеличению использования дискового пространства.
Если у вас наблюдаются эти симптомы, возможно вам потребуется рассмотреть проблему избыточного потребления памяти сервером SQL Server и принять меры для ее устранения.
Причины избыточного потребления памяти в SQL Server
2. Наличие большого количества данных в кэше: SQL Server использует кэш для хранения данных и индексов, чтобы повысить производительность. Если в системе присутствует большое количество данных, то кэш может занять значительную часть доступной памяти.
3. Неправильная работа запросов: Некоторые запросы могут быть написаны неэффективно или использовать неправильные индексы, что может привести к избыточному потреблению памяти. Такие запросы могут приводить к считыванию и кешированию большего количества данных, чем требуется, и увеличивать объем используемой памяти.
Примечание: SQL Server предоставляет множество инструментов для анализа и оптимизации запросов, которые могут помочь выявить и исправить проблемы с памятью.
4. Наличие неоптимальных индексов: Неправильно созданные или неоптимальные индексы могут привести к избыточному потреблению памяти. Например, наличие слишком большого количества индексов на таблице может привести к тому, что SQL Server будет хранить в кэше данные для всех этих индексов, что приведет к избыточному использованию памяти.
5. Наличие множества подключений и сессий: Если в системе существует большое количество подключений и сессий к SQL Server, то каждое подключение будет потреблять некоторый объем памяти для своих нужд. Если количество подключений превышает разумные пределы, то потребление памяти может стать избыточным.
6. Неправильная работа агентов и заданий: SQL Server имеет механизм агентов и заданий, которые выполняют различные операции на сервере (например, резервное копирование, обслуживание индексов и т.д.). Если эти агенты и задания настроены неправильно или выполняются слишком часто, то они могут потреблять избыточное количество памяти.
Настройка и оптимизация SQL Server является сложным процессом, требующим глубоких знаний и опыта. Если вы сталкиваетесь с проблемой избыточного потребления памяти, рекомендуется обратиться к эксперту, который поможет найти и исправить причину проблемы.
Как определить, что SQL Server использует избыточное количество памяти
SQL Server может использовать избыточное количество памяти, что может привести к снижению производительности системы. Для определения, использует ли SQL Server избыточное количество памяти, можно выполнить следующие действия:
Шаг | Описание |
1 | Откройте диспетчер задач Windows NT |
2 | Перейдите на вкладку «Процессы» |
3 | Найдите процесс sqlservr.exe |
4 | Проверьте количество используемой памяти процессом sqlservr.exe в столбце «Память (частная рабочая установка)» |
5 | Если количество используемой памяти превышает доступное физической памяти на сервере, то SQL Server может использовать избыточное количество памяти |
В случае, если SQL Server использует избыточное количество памяти, можно принять следующие меры:
Шаг | Описание |
1 | Настройте максимальное количество памяти, которое может использовать SQL Server |
2 | Измените настройки памяти в конфигурационном файле SQL Server |
3 | Перезапустите службу SQL Server, чтобы изменения вступили в силу |
4 | Проверьте, как изменения влияют на потребление памяти SQL Server и производительность системы |
После выполнения этих действий можно контролировать потребление памяти SQL Server и при необходимости вносить дополнительные изменения для оптимизации его использования.
Расширение доступной памяти для SQL Server
Когда SQL Server работает на операционной системе Windows NT 64-бит, он может использовать больше памяти, чем в 32-битной версии. Это позволяет улучшить производительность и эффективность работы базы данных.
Для расширения доступной памяти для SQL Server вам необходимо выполнить следующие действия:
- Откройте SQL Server Configuration Manager.
- Перейдите во вкладку «Memory».
- Увеличьте значение параметра «Minimum server memory» для установки минимального объема памяти, который необходимо зарезервировать для SQL Server. Это значение должно быть больше или равно объему памяти, который будет использоваться другими приложениями на сервере.
- Увеличьте значение параметра «Maximum server memory» для установки максимального объема памяти, который может использовать SQL Server. Обычно рекомендуется оставить некоторую часть памяти для операционной системы и других приложений.
- Нажмите «Apply», чтобы сохранить внесенные изменения.
- Перезапустите службу SQL Server, чтобы применить изменения.
После расширения доступной памяти для SQL Server вы должны заметить улучшение его производительности и более эффективное использование ресурсов сервера. Однако важно учитывать, что выделение слишком большого объема памяти для SQL Server может привести к проблемам с работой операционной системы и других приложений на сервере.
sql server windows nt 64bit memory occupation is too high solution
- High memory background
- Software operating environment parameters
- High memory usage
- High memory usage actually dropped
- Ways to lower memory
High memory background
I am engaged in research on Taobao in my spare time. I am a non-professional technician who has strayed into the technical field. In my spare time, I use: asp.net + sql server express to build a website at:Love is still sharingThe technology is relatively low. Please forgive me, everyone.
The website went online in March 2019 and ran for half a year. It was found that the proportion of memory usage soared, once reaching 80-90%. The website only stores the promotional links of Taobao Alliance and Todo. The data is about 50-70M. Professionals have assessed that such a large amount of memory space should not be used, which has been unknown.
Software operating environment parameters
On December 12, 2018, I made an impulsive decision that night. As soon as my mind became hot, I quickly went to Alibaba Cloud to buy ECS. The system configuration is as follows:
It cost me nearly 1700 oceans to buy ECS. Everyone estimated that I think I ’m stupid and have a lot of money. According to the facts, I ’m really stupid, but not much money.
In terms of database, consider that you are most familiar with Microsoft sqlserver, the other is for copyright considerations, and the other is lightweight, so the express version is used. As for the standard version, is it efficient? I am not quite sure about the difference in this, and it needs further testing.
High memory usage
After I bought ECS, I could n’t keep it idle. Is there a way to temporarily find a few books on asp.net? After working in the workplace for a year when I first worked in the net.asp development, I still have some points in my heart. Write your own personal website. It took about three months before and after, while reading the book while writing the code. The middle process, omitting 10,000 words, can be regarded as going through a lot of hardships. Anyway, it is for me. Haha, I still admire myself a little bit, at least I haven’t written code systematically for 8 years.
The code is almost finished, and it is directly deployed in IIS on ECS. The process is relatively smooth and can be asked normally. In the follow-up time, a function has been added and the mobile version has been developed, but it has not paid attention to system performance issues. Until the approaching of this year’s Double Eleven, I went to ECS to see the system monitoring performance chart, which scared me.
The main reason I looked at the performance report is because it has not brought the ideal income since it was launched for half a year, and it has been in a state of loss. Taobao is not as good as I thought, and the traffic is a big The problem, I feel that everyone is not talking about tiger color change, but about «adding WeChat» color change, and talking about micro business color change. Do you have such a feeling?
In order to keep my wallet from being too dry, and the current traffic is not too much, I thought about downgrading the server to 2 core 4G. My money bag can still stay a bit, but the memory has soared to 6-7G After all, I poured a pot of cold water for me. After all, I have done it for half a year. It is a pity to give up now. What should I do?
At that time, in order to make the website more efficient, I used memorycatch caching technology to cache the first page content, channel information, classification information, menu information, and main parameters of the page. The memory requirements are relatively high, but how high is my heart. Not low, I was complacent and used cache technology. No way, I can only soak in the major asp.net groups and ask if there is a way to reduce the memory consumption. Maybe I haven’t made it clear, and I haven’t asked a good way for a week, and the problem has been dragging.
High memory usage actually dropped
I do n’t know what the reason is. I have stimulated my brain circuit. My server has not been restarted since I bought it. Try Universal Startup. Will it work? (I ’ve seen a friend ’s Internet cafe, network management technology, restart it), haha, The restart actually took effect.
The facts tell me that it must be something, and what memory is secretly eaten. I have observed the performance monitoring chart of Alibaba Cloud for many days in a row. Haha, the stealing thief was caught.
After the service is restarted, the memory usage has risen again over time. What the hell is this, do you want people to live, live or live, after all, it ’s better to die than to live.
Well, let’s go to the culprit again, and observe through the server task manager, and find that the process sql server windows nt 64bit takes up about 1G of memory, and the culprit is finally found.
Ways to lower memory
The principle of solution is to control the reason that sqlserver consumes memory and releases memory. It can be known from the literature and experiments.SQL Server’s strategy for using server memory is to use as much memory as possible, Only when the server memory is insufficient, it will release a little of the occupied memory, at least how much is released, completely controlled by the SQL server, so the SQL Server server memory tends to take up a lot.
SQL Server provides database script to check the memory usage
sql script: DBCC MemoryStatus
These memories are generally used as cache when Sql Server is running:
- Data cache: Execute the query statement, Sql Server will load the relevant data content (the data of Sql Server operation is in units of pages) into the memory for caching, so that when requesting the data of this page again, directly from the memory Return, greatly improving the extraction efficiency.
- Execute command cache: When executing stored procedures and custom functions, Sql Server needs to be compiled first and then run. The compiled results will also be cached, and there is no need to compile again when it is called again.
Other DBCC management commands
DBCC FREEPROCCACHE Clear the cache related to the stored procedure
DBCC FREESESSIONCACHE session cache
DBCC FREESYSTEMCACHE (‘All’) system cache
DBCC DROPCLEANBUFFERS all caches
Although the above command will clear the existing cache and make room for the new cache,However, the Sql server will not release the memory that has been used.. Sql Server does not provide any commands that allow us to free unused memory. Therefore, we can only force the Sql Server to free memory by dynamically adjusting the physical memory settings available to it.
Steps to limit the physical memory available for Sql Server
According to the above steps, setting the upper limit of the memory occupied by sql will allow sqlserver to actively remove dirty data and replace it with hot data within the upper limit of memory, not at least like vampires, endlessly occupying internal .
In this way, I will be able to go smoothly on Double Eleven. Downgrade my server by one grade. I don’t worry about the user’s experience. If I can help you, please give me a compliment. It’s all a personal experience
Yesterday I was going over some scripts and notes from a class and noticed that queries were a lot slower. Queries that took 0 ms of cpu time and 10 ms of elapsed time before were taking over 10 seconds. Task Manager showed that SQL Server Windows NT — 64 Bit was running and using 5 GB out of 8 GB of my memory. I stopped running queries but it went on for hours until dropped down to 2 GB and went on until
I shut it down around 10 pm. This morning SQL Server Windows NT- 64 Bit was using
a few hundred MB of memory until I ran a stored procedure. As you can see in the picture it shot up to over 4 GB of memory and staying at it. I know for sure that this happens a lot but never thought there was a possibility that it was caused by something I ran. If I end the task, I lose the connection. If I restart my computer, it will restart as well, I tested a couple of times. What is really happening and What should I do? Screenshot of Task Manager
- sql-server-2019
asked Jun 1, 2021 at 19:41
gsonggsong
111 gold badge1 silver badge2 bronze badges
6
-
SQL Server uses all the available memory it can get by design. You can change this in SSMS > Server Properties > Memory.
Jun 1, 2021 at 19:45
-
What is the actual problem you are trying to solve? It looks like this is a desktop/workstation and not a dedicated SQL Server? It’s good practice to always set the max memory for SQL Server — a rule of thumb is 8-10% less than total ram on a dedicated server and more on a desktop or shared resource server.
Jun 1, 2021 at 20:22
-
At a guess, a poor query plan is causing a table to fill up the buffer pool memory, which by default is as much memory as it can get its hands on.
Jun 1, 2021 at 21:08
-
It was making all other queries so slow. And also I wanted to understand what was really happening and why. Looks like you all suggest that I change maximum server memory which I never changed so it is at default which is way more than what I have. So I changed it to 3 GB and ran the same stored procedure and executed. SQL Server was using about 700 MB of memory and shot up to 2.85 GB. So that’s good. Now it stays at that level for a long time. How do I bring it down to normal level? Not all but some other queries are taking longer to execute.
Jun 1, 2021 at 21:55
-
@gsong Set a reasonable maximum for memory usage in Server Properties and then restart the SQL Server service. There are ways to make SQL Server release memory back to the OS without restarting but they’re unreliable and intended for production use, whereas restarting the service on your workstation is the most straightforward solution.
Jun 2, 2021 at 3:29
Load 7 more related questions
Show fewer related questions
I admittedly have limited experience with SQL server so I’ve stumbled into a learning opportunity. I acquired a new client whose server is a bit of a mess and will be replaced in the next couple of months. I do need to fix this current issue, however.
The server is a 2012 domain controller that’s also hosting their main application SQL database.
In Task Manager…
SQL Server Windows NT — 64 bit — Windows Internal Database is taking up 11 GB out of 16 GB.
SQL Server Windows NT — 64 bit — SQL Server (MSSQLSERVER) is taking up 120 MB.
Their main application is barely functioning due to this; some aspects work while taking forever, other tasks freeze the application completely.
In SQL Server Management Studio > Properties > Memory I set a cap of 6144 MB. Based on what I’ve found online, this should fix the issue. It has not, even after a reboot. Is the limit I set impacting the SQL Server process only and not the WID process?
WSUS was installed by their previous MSP but it’s never been used. Based on other research, it seems like WSUS may be causing the issue but I’m not sure that removing the role will fix the problem.
Any advice? Thanks.