服务占用内存太多怎么办

一个进程一个服务占用高达27m的内存,怎么回事。是不是因为内存泄露的原因呢

5个回答

应该是你的处理机制的问题,尽量的做到各部分的独立性,这将对你的代码的维护和修改起到很好的调试作用!

优化、优化、再优化。

删除无用的对象创建的代码。

不是,主要开始要对项目优化一下

27M不大吧。。。
你的情况应该是程序确实需要这个大小的内存,并非内存泄漏;内存泄漏最明显的特征是在重复进行程序的某一个操作后,内存消耗只增大不减少,那就很有可能泄漏了

服务是系统组件,内存大很正常,一个空服务都占大概占13M左右,大部分是从父类继承的,想要优化服务,尽量不要在服务里面存储大量数据或执行无用代码

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
fedora6开机内存占用太多,怎么办?
新安装的fodera6,一开机内存就被占用了将近400M,下边是我开机是使用top得到的数据,各位大虾分析一下,怎么解决?
mysqld等占用太多内存,怎么办?
最近发现阿里云服务器网页打开速度变慢,查了下空闲内存发现只有100多M。重起完机器后网页打开快了几天又变慢了。空闲内存剩300M多,是不是因内存不足,有什么办法优化?rnrntop - 17:31:40 up 4 days, 19:17, 1 user, load average: 0.00, 0.01, 0.05rnTasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombiernCpu(s): 1.0%us, 0.4%sy, 0.0%ni, 98.0%id, 0.5%wa, 0.0%hi, 0.0%si, 0.1%strnMem: 3786340k total, 3424828k used, 361512k free, 1079388k buffersrnSwap: 0k total, 0k used, 0k free, 1596436k cachedrnrn PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDrn 1059 mysql 20 0 1222m 234m 3968 S 4 6.3 18:47.10 mysqldrn 1089 www 20 0 224m 30m 4160 S 0 0.8 1:54.56 php-cgirn 1076 www 20 0 56912 26m 736 S 0 0.7 0:30.83 nginxrn 1075 www 20 0 56712 26m 744 S 0 0.7 0:34.15 nginxrn 1097 www 20 0 217m 24m 4152 S 0 0.7 2:06.05 php-cgirn 1099 www 20 0 217m 23m 3856 S 0 0.6 1:51.13 php-cgirn 1094 www 20 0 216m 23m 4072 S 0 0.6 2:03.66 php-cgirn 1098 www 20 0 213m 19m 4796 S 0 0.5 2:20.66 php-cgirn 1092 www 20 0 212m 19m 4048 S 0 0.5 2:24.37 php-cgirn 1091 www 20 0 209m 15m 4152 S 0 0.4 1:47.13 php-cgirn 1096 www 20 0 208m 15m 4172 S 0 0.4 2:47.68 php-cgirn 1100 www 20 0 209m 15m 4160 S 0 0.4 2:04.01 php-cgirn 1285 root 20 0 741m 15m 2116 S 0 0.4 8:06.15 aegis_clirn 1095 www 20 0 207m 14m 4044 S 1 0.4 2:25.59 php-cgirn 1093 www 20 0 207m 14m 4172 S 0 0.4 2:05.47 php-cgirn 1090 www 20 0 207m 13m 3852 S 0 0.4 2:11.50 php-cgirn 1086 root 20 0 203m 6412 768 S 0 0.2 2:13.83 php-cgirn 866 root 20 0 452m 1840 1300 S 0 0.0 2:24.03 aegis_updatern 707 syslog 20 0 243m 1016 180 S 0 0.0 0:16.11 rsyslogdrn 768 nobody 20 0 514m 864 548 S 0 0.0 0:07.67 nscdrnrn~# cat /proc/meminfornMemTotal: 3786340 kBrnMemFree: 360956 kBrnBuffers: 1079628 kBrnCached: 1596652 kBrnSwapCached: 0 kBrnActive: 1956280 kBrnInactive: 1177360 kBrnActive(anon): 457388 kBrnInactive(anon): 248 kBrnActive(file): 1498892 kBrnInactive(file): 1177112 kB
内存占用太多,为什么?
哪位能不能帮我优化一下?我这个程序不知道为什么,占用了很大的内存,速度很慢rntypedef struct AListrnrn int no1;rn int no2;rn int no3;rn int no4;rn int no5;rn rn TAList;rntypedef TAList* PAList;rnrnrnvoid __fastcall TForm1::FormCreate(TObject *Sender)rnrn randomize();rn ResultList = new TList; rnrnrnvoid __fastcall TForm1::Button1Click(TObject *Sender)rnrn DWORD StartTime,EndTime,LastTime;rn StartTime=GetTickCount(); //从这开始计算下面这个循环运行的时间rn for(int i=0;i<100000;i++)rn rn PAList AStruct;rn AStruct = new TAList;rn AStruct->no1=random(10);rn AStruct->no2=random(10);rn AStruct->no3=random(10);rn AStruct->no4=random(10);rn AStruct->no5=random(10);rn ResultList->Add(AStruct);rnrn rn //开始比较,此处占用了极多的内存rn for(int i=0;iResultList->Count-1;i++)rn rn PAList AStruct;rn AStruct = new TAList;rn AStruct = (PAList) ResultList->Items[i];rn for(int j=i+1;jResultList->Count;j++)rn rn PAList BStruct;rn BStruct = new TAList;rn BStruct = (PAList) ResultList->Items[j];rn int iSame=0;rn if(AStruct->no1==(BStruct->no1+1)) continue;rn if(AStruct->no2==(BStruct->no2+1)) continue;rn if(AStruct->no3==(BStruct->no3+1)) continue;rn if(AStruct->no4==(BStruct->no4+1)) continue;rn if(AStruct->no5==(BStruct->no5+1)) continue;rnrn if(AStruct->no1==(BStruct->no1+2)) continue;rn if(AStruct->no2==(BStruct->no2+2)) continue;rn if(AStruct->no3==(BStruct->no3+2)) continue;rn if(AStruct->no4==(BStruct->no4+2)) continue;rn if(AStruct->no5==(BStruct->no5+2)) continue;rnrn ResultList->Delete(j);j--; rn delete BStruct;rn rnrn rnrnEndTime=GetTickCount(); //循环结束,计时也结束rnLastTime=EndTime-StartTime;rnApplication->MessageBoxA(IntToStr(LastTime).c_str(),"运算时间",MB_ICONEXCLAMATION); rnrnrnvoid __fastcall TForm1::FormDestroy(TObject *Sender)rnrn if(ResultList->Count>0)rn for(int i=ResultList->Count-1;i<-1;i--)rn rn PAList AStruct;rn AStruct = new TAList;rn AStruct =(PAList) ResultList->Items[i];rn ResultList->Delete(i); rn delete[] AStruct;rnrn rnrn
程序占用内存太多!
我的程序是一个Oracle+Delphi7的数据库程序。程序启动后占用内存达6000K,太大了,有没有办法让它小一点?
浏览器占用的内存太多!
应该是中了什么病毒了,能告诉我是什么病毒吗?rn
Android Studio占用太多内存
最近Manjaro下Android Studio占用内存越来越多了,用着用着就占用3.5G,12G的内存,用着用着就占用80%,好烦啊 针对低内存机器配置 IDE 如果您正在低于建议规格(请参阅系统要求)的机器上运行 Android Studio,则可以按如下方式自定义 IDE 以提高机器性能: 减小 Android Studio 可用的最大堆内存:将 Android Studio...
Oracle连接占用内存太多
使用hibernate+dbcp连接oracle,主要的操作是进行2张分区表进行查询,2张表中的数据也就在2000万左右。rn查看oracle数据库服务器的资源,发现内存占用的很多,差不多12个连接进程,有好几个进程占用的内存在600M左右,还有2个进程用了有1G。rn请问这是什么原因造成的?有没有什么解决方法?
占用太多内存 如何解决
随便写一个程序都能占到10M的内存 太恐怖了!rn请教一下要如何才能有效减小内存的占用呢?rn谢谢
android background占用太多内存
我在一个界面里,将根布局设置background,设置为一张400多k的图片,然后发现当进入这个activity的时候,内存一下子就涨了40多m,之前如果不加bakground的话,内存基本上不动?n 我知道图片很占内存,可是这也太夸张了吧,还有,有没有什么好的方法来解决?
程序占用CPU太多,怎么办?
我编了个两个摄像头同时采样的程序,但是在程序运行的时候发现它占用CPU百分之八十左右,以至于点击按钮都没有反应,怎么办?rn顺便再问一下BCB 最多能申请多大的内存?我发现申请的内存超过3张图片大小的内存时就申请不到内存啦。请各位大虾赐教!
运行Office2003占用太多内存?
我运行Word2003,Excel2003时,如果在其中输入数据,那么内存占用增加很快,尤其是Word2003,最多的一次Word2003占用290多兆,机器都不动了,各位大侠请指教!
急!终端服务器内存占用太多导致死机!
WIN2K ADVANCE SERVER!rn每天开机后很快就会显示内存占用超过 1 G,且随着时间的推移,当内存占用接近设置的最大值 1.4 G 时系统就会变得特别的慢甚至死机。只要登录人一多,内存占用就立即变得很大。rnrn说明,CPU占用却很低!而且,最多只有9个终端会登录到服务器。rnrn明天我想办法弄两个截图来!现在是服务器在上海,我在深圳!rnrn多谢了!大家都讨论讨论啊!rn
求救 c++ map 内存占用太多
#includern#includern#includernrnusing namespace std;rnrnint main()rnrn int n;rn map m1;rn map m2;rn string line,a,b;rn while( getline(cin,line) && (line !="@END@"))rn rn int i = line.find("]"); rn a = line.substr(0,i+1);rn b = line.substr(i+2,line.length()-i);rn m1.insert(map::value_type(a,b));rn m2.insert(map::value_type(b,a));rn rn cin >> n;rn cin.ignore();rn while(n--)rn rn getline(cin,line);rn cin.ignore();rn if( line[0] == '[')rn rn map::iterator it = m1.find(line);rn if(it != m1.end())rn cout << it->second << endl;rn elsern cout << "what?" <::iterator it = m2.find(line);rn if(it != m2.end())rn cout << (it->second).substr(1,(it->second).length()-2) << endl;rn elsern cout << "what?" <
myeclipse 占用内存太大怎么办
我用的是myeclipse 7.5版本,在使用的时候内存占用会变的越来越大,一直能干到将近700M,有高手能告诉我怎么解决么
程序占用内存越来越大,怎么办?
请高手告诉我,哪里的问题,怎么解决,谢谢啦rn大概就是去百度搜索一个关键词,商业原因,没给出具体的关键词rn然后看看百度上会不会因为这个关键词出现一些数据rnrn只是给了个大概,请大家看一下,为什么占用内存越来越多,怎么处理?rnrnrn[code=C#]public Form1()rn rn InitializeComponent();rn this.Visible = true;rn bool flag = true;rn while (flag)rn rn HtmlDocument doc;rn using (System.Net.WebClient wc = new System.Net.WebClient())rn rn wc.Encoding = System.Text.Encoding.UTF8;rn string url = "http://www.baidu.com";rn string html = wc.DownloadString(url);rn convertString2Html(html, out doc);rn HtmlElement element = doc.GetElementById("search");rn HtmlElementCollection elements = element.GetElementsByTagName("DIV);rn string html2 = elements[0].GetAttribute("href").Replace("about:", "");rn html = wc.DownloadString(url + html2);rn convertString2Html(html, out doc);rn element = doc.GetElementById("div1");rn elements = element.GetElementsByTagName("p");rn elements = elements[0].GetElementsByTagName("span");rn if (elements[0].InnerText != "我的天啊")rn rn flag = false;rn rn url = null;rn html = null;rn html2 = null;rn element = null;rn elements = null;rn doc = null;rn GC.Collect();rn rn //System.Threading.Thread.Sleep(30000);rn rn rnrn System.Media.SoundPlayer player = new SoundPlayer(@"C:\Windows\Media\tada.wav");rn player.Load();rn player.PlayLooping();rnrn rnprivate void convertString2Html(string html, out HtmlDocument doc)rn rn WebBrowser browser = new WebBrowser();rn browser.Navigate("about:blank");rn browser.ScriptErrorsSuppressed = true; //屏蔽一些脚本错误rn doc = browser.Document.OpenNew(true);rn doc.Write(html); //写入采集过来的html文本数据rn [/code]
Oracle设置“服务”占用内存
目录: 版本1 Oracle12C 版本2   版本3   关键字 Oracle,服务,内存   问题现象 开启Oracle的服务后,占有极大的内存,如下图: 原因分析
服务占用内存为何越来越高?
为什么我写的服务占用内存越来越高呢?代码如下:rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Diagnostics;rnusing System.Linq;rnusing System.ServiceProcess;rnusing System.Text;rnusing System.Threading.Tasks;rnusing System.DirectoryServices;rnusing System.Threading;rnusing System.Timers;rnrnnamespace UnionstarsImportStaffrnrn public partial class UnionstarsImportUserInfo : ServiceBasern rn public UnionstarsImportUserInfo()rn rn InitializeComponent();rn rnrn protected override void OnStart(string[] args)rn rn System.Timers.Timer timerClock = new System.Timers.Timer();rn timerClock.Elapsed += new ElapsedEventHandler(Import);rn timerClock.Interval = 60 * 1000; //每分钟执行一次rn timerClock.Enabled = true;rn rnrn protected override void OnStop()rn rn rnrn private void Import(object source, ElapsedEventArgs e)rn rn if (DateTime.Now.Minute == 30) //每小时的第30分钟会执行一次同步域用户数据rn rn DirectoryEntry entry = new DirectoryEntry("LDAP://XYAMC", "fax-gl", "Xyjj2014", AuthenticationTypes.Secure);rn DirectorySearcher mySearcher = new DirectorySearcher(entry);rn mySearcher.Filter = ("(objectClass=user)");rnrn string tempAccountName = ";";rn foreach (SearchResult resEnt in mySearcher.FindAll())rn rn string accountName = resEnt.GetDirectoryEntry().Properties["sAMAccountName"].Value.ToString();rn string realName = resEnt.GetDirectoryEntry().Properties["name"].Value.ToString();rn string description = resEnt.GetDirectoryEntry().Properties["distinguishedname"].Value.ToString();rnrn if (description.Contains("投资研究部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "投资研究部"));rn rnrn else if (description.Contains("信息技术部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "信息技术部"));rn rnrn else if (description.Contains("交易室"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "交易部"));rn rnrn else if (description.Contains("综合管理部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "综合管理部"));rn rnrn else if (description.Contains("营运支持部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "营运支持部"));rn rnrn else if (description.Contains("销售营销部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "销售营销部"));rn rnrn else if (description.Contains("客服部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "客服部"));rn rn else if (description.Contains("战略发展部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "战略发展部"));rn rnrn else if (description.Contains("监察稽核部"))rn rn tempAccountName = tempAccountName + accountName + ";";rn new Users().InsertOrUpdateUser(new Users(accountName, realName, "监察稽核部"));rn rnrn rn //将离职用户从User表中删掉rn new Users().DelUser(tempAccountName);rnrn using (System.IO.StreamWriter sw = new System.IO.StreamWriter(@"D:\unionstars\Services\UnionstarsImportStaff\UnionstarsImportStaff\Log\log.txt", true))rn rn sw.WriteLine("同步域用户数据时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));rn sw.Flush();rn rnrn rnrn rnrn rnrnrn[/code]rnrnUsers类代码:rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnusing System.Threading.Tasks;rnusing System.Configuration;rnusing System.Data;rnusing System.Data.SqlClient;rnrnnamespace UnionstarsImportStaffrnrn public class Usersrn rnrn string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;rnrn /// rn /// 删除不在域中的用户(比如离职用户) 以及 其在角色表中的记录rn /// rn /// 域中的accountName组合的长字符串rn /// rn public void DelUser(string accountNames)rn rn SqlConnection conn = new SqlConnection(connStr);rn conn.Open();rn string sql = "select UserAccount,UserGuid from [User]";rn SqlDataAdapter sda = new SqlDataAdapter(sql, conn);rn DataTable dt = new DataTable();rn sda.Fill(dt);rn for (int i = 0; i < dt.Rows.Count; i++)rn rn if (accountNames.Contains(";" + dt.Rows[i]["UserAccount"].ToString() + ";") == false)rn rn string sql_del_user = "delete from [User] where UserAccount=@UserAccount";rn SqlCommand cmd = new SqlCommand(sql_del_user, conn);rn cmd.Parameters.Add(new SqlParameter("@UserAccount", SqlDbType.NVarChar));rn cmd.Parameters["@UserAccount"].Value = dt.Rows[i]["UserAccount"].ToString();rn cmd.ExecuteNonQuery();rnrn string sql_del_rolelistuser = "delete from US_RoleListUser where UserGuid=@UserGuid";rn SqlCommand cmd_rolelistuser = new SqlCommand(sql_del_rolelistuser, conn);rn cmd_rolelistuser.Parameters.Add(new SqlParameter("@UserGuid", SqlDbType.NVarChar));rn cmd_rolelistuser.Parameters["@UserGuid"].Value = dt.Rows[i]["UserGuid"].ToString();rn cmd_rolelistuser.ExecuteNonQuery();rn rn rn rnrn /// rn /// 向User表插入或更新数据rn /// rn /// 域中的用户对象rn public void InsertOrUpdateUser(Users u)rn rn SqlConnection conn = new SqlConnection(connStr);rn conn.Open();rnrn bool flag = false;rn string sql_select = "select count(*) from [User] where UserAccount=@UserAccount";rn SqlCommand cmd_select = new SqlCommand(sql_select, conn);rn cmd_select.Parameters.Add("@UserAccount", SqlDbType.NVarChar);rn cmd_select.Parameters["@UserAccount"].Value = u.UserAccount;rn DataTable dt = new DataTable();rn int val = Convert.ToInt32(cmd_select.ExecuteScalar());rn if (val > 0)rn rn flag = true;rn rnrn if (flag) //更新rn rn string sql_update = "update [User] set UserName=@UserName,DeptName=@DeptName where UserAccount=@UserAccount";rn SqlCommand cmd_update = new SqlCommand(sql_update, conn);rn SqlParameter[] paras = new SqlParameter[] rn new SqlParameter("@UserName",u.UserName),rn new SqlParameter("@DeptName",u.DeptName),rn new SqlParameter("@UserAccount",u.UserAccount)rn ;rn cmd_update.Parameters.AddRange(paras);rn cmd_update.ExecuteNonQuery();rnrn rn else //插入rn rn string sql_insert = "insert into [User](UserGuid,UserAccount,UserName,DeptName) values(@UserGuid,@UserAccount,@UserName,@DeptName)";rn SqlCommand cmd_insert = new SqlCommand(sql_insert, conn);rn SqlParameter[] paras = new SqlParameter[]rn new SqlParameter("@UserGuid",Guid.NewGuid().ToString()),rn new SqlParameter("@UserAccount",u.UserAccount),rn new SqlParameter("@UserName",u.UserName),rn new SqlParameter("@DeptName",u.DeptName)rn ;rn cmd_insert.Parameters.AddRange(paras);rn cmd_insert.ExecuteNonQuery();rn rnrn rnrn public Users()rn rnrn public Users(string ua, string un, string dn)rn rn UserAccount = ua;rn UserName = un;rn DeptName = dn;rn rnrnrn private string userAccount;rnrn public string UserAccountrn rn get return userAccount; rn set userAccount = value; rn rnrnrn private string userName;rnrn public string UserNamern rn get return userName; rn set userName = value; rn rnrnrn private string deptName;rnrn public string DeptNamern rn get return deptName; rn set deptName = value; rn rn rnrnrn[/code]
MySQL 占用太多资源
我现在并发访问在1000以上,占掉了CPU100%的资源,请问有什么解决方法!!!rnthxrn
加锁导致内存占用逐渐加大?怎么办
2 这是第一个窗体的代码rn 3 rn 4 private void button1_Click(object sender, EventArgs e)rn 5 rn 6 while (true)rn 7 rn 8 SqlConnection conn = new SqlConnection("Data Source=DMWIAJHLRQMX6QS;Initial Catalog=test;Persist Security Info=True;User ID=sa;Pwd=111111");rn 9 conn.Open();rn10 string cmdStr = "insert into test_interfacetable0760 with(xlock) (SendPhone,text,SendTime,states,UserID) values ('13888888888','测试内容','2013-8-14',1,32) ";rn11 SqlCommand cmd = new SqlCommand();rn12 cmd.Connection = conn;rn13 cmd.CommandText = cmdStr;rn14 tryrn15 rn16 cmd.ExecuteNonQuery();rn17 rn18 catch (Exception ex)rn19 rn20 MessageBox.Show(ex.Message);rn21 rn22 finallyrn23 rn24 conn.Close();rn25 rn26 rn27 rn28 rn29 rn30 这是第二个窗体的代码rn31 rn32 private void button1_Click(object sender, EventArgs e)rn33 rn34 while (true)rn35 rn36 SqlConnection conn = new SqlConnection("Data Source=DMWIAJHLRQMX6QS;Initial Catalog=test;Persist Security Info=True;User ID=sa;Pwd=111111");rn37 conn.Open();rn38 SqlCommand cmd = new SqlCommand();rn39 cmd.Connection = conn;rn40 string selecStr = "select top 1 * from test_interfacetable0760 with(xlock) where states=1 ";rn41 cmd.CommandText = selecStr;rn42 int tempid = Convert.ToInt32(cmd.ExecuteScalar());rn43 string cmdStr = "update test_interfacetable0760 with(xlock) set SendPhone='13777777777',text='更新的测试内容',SendTime='2000-8-14',states=2,UserID=22 where tempid=" + tempid + "";rn44 cmd.CommandText = cmdStr;rn45 tryrn46 rn47 cmd.ExecuteNonQuery();rn48 rn49 catch (Exception ex)rn50 rn51 MessageBox.Show(ex.Message);rn52 rn53 finallyrn54 rn55 conn.Close();rn56 rn57 rn58 rn我 开着两个程序同时运行的时候,操作什么的都正确(数据库可以看见这些操作的正确性),可是内存在不停的增加,cpu也占用100%了,这是为什么呢
win2000里面的占用内存过多怎么办?
开机以后就差不多占了一半,不知道怎么去限制开机内存。然后就是开了几个窗口以后,就会出现窗口无法访问的情况。
vb运行内存占用不断增加怎么办??
我有个时钟,但运行时内占用不断增加。一个time,30个Shape1源码:rnDim MyRgn As Long, i As Integer, AnglernConst HWND_TOPMOST = -1rnConst SWP_RGN_OR = &H40rnPrivate Const RGN_OR = 2rnPrivate Const SWP_SHOWWINDOW = &H40rnPrivate Declare Function ReleaseCapture Lib "user32" () As LongrnPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongrnPrivate Const WM_SYSCOMMAND = &H112rnPrivate Const SC_MOVE = &HF010&rnPrivate Const HTCAPTION = 2rnPrivate Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndlnsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongrnPrivate Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As LongrnPrivate Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgnl As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As LongrnPrivate Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As LongrnPrivate Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As LongrnrnPrivate Sub Form_DblClick()rnDim yn As Integerrnyn = MsgBox("要退出吗?", 1, "透明时钟")rnIf yn = 1 Thenrn DeleteObject MyRgnrn EndrnEnd IfrnEnd SubrnrnPrivate Sub Form_Load()rnWidth = 2000rnHeight = 2000rnMe.ScaleMode = vbPixelsrnTimer1.Enabled = TruernTimer1.Interval = 1000rnDim X1, X, Yrn'产生表盘12个刻度点rnFor i = 0 To 29rn If i > 0 Then Shape1(i).Shape = 3rn Shape1(i).Visible = Truern Shape1(i).FillStyle = 0rn Select Case irn '定义刻度颜色,大小rn Case 0 To 11rn Shape1(i).FillStyle = 0rn Shape1(i).BorderColor = RGB(3, 3, 250)rn Shape1(i).FillColor = RGB(3, 3, 250)rn If i Mod 3 = 0 Thenrn Shape1(i).Width = 7rn Shape1(i).Height = 7rn Elsern Shape1(i).Width = 5rn Shape1(i).Height = 5rn End Ifrn '时针颜色,大小rn Case 12 To 18rn Shape1(i).FillStyle = 0rn Shape1(i).BorderColor = RGB(3, 3, 250)rn Shape1(i).FillColor = RGB(3, 3, 250)rn Shape1(i).Width = 5rn Shape1(i).Height = 5rn '分针rn Case 19 To 28rn Shape1(i).FillStyle = 0rn Shape1(i).BorderColor = RGB(3, 3, 250)rn Shape1(i).FillColor = RGB(3, 3, 250)rn Shape1(i).Width = 4rn Shape1(i).Height = 4rn '秒针rn Case Elsern Shape1(i).FillStyle = 0rn Shape1(i).BorderColor = RGB(3, 3, 250)rn Shape1(i).FillColor = RGB(3, 3, 250)rn Shape1(i).Width = 4rn Shape1(i).Height = 4rn End SelectrnNext irn'画12个表盘刻度rnFor i = 0 To 11rn Scale (-1, 1)-(1, -1)rn Angle = i * 2 * Atn(1) / 3rn Shape1(i).Top = 0.9 * Cos(Angle)rn Shape1(i).Left = 0.9 * Sin(Angle)rnNext irn'窗口定位,窗口在顶层rn X1 = Screen.Width / Screen.TwipsPerPixelX - Me.Width / Screen.TwipsPerPixelXrn X = Me.Width / Screen.TwipsPerPixelXrn Y = Me.Height / Screen.TwipsPerPixelYrn SetWindowPos Me.hWnd, HWND_TOPMOST, X1 - 8, 0, X, Y, SWP_SHOWWINDOWrn Me.ScaleMode = vbPixelsrn toggleFramernEnd SubrnrnPrivate Sub Timer1_Timer()rn Scale (-1, 1)-(1, -1)rn Angle = 0.5236 * (15 - (Hour(Now) + Minute(Now) / 60))rn For i = 12 To 18rn Shape1(i).Move (i - 12) * 0.08 * Cos(Angle), (i - 12) * 0.08 * Sin(Angle)rn Next irn Angle = 0.1047 * (75 - (Minute(Now) + Second(Now) / 60))rn For i = 19 To 28rn Shape1(i).Move (i - 19) * 0.08 * Cos(Angle), (i - 19) * 0.08 * Sin(Angle)rn Next irn Angle = 0.1047 * (75 - Second(Now))rn Shape1(29).Move 0.9 * Cos(Angle), 0.9 * Sin(Angle)rn Me.ScaleMode = vbPixelsrn toggleFramernEnd SubrnPrivate Sub toggleFrame()rnDim mLeft, mToprnDim r As LongrnMyRgn = CreateRectRgn(0, 0, 0, 0)rnFor i = 0 To 29rn mLeft = ScaleX(Shape1(i).Left, Me.ScaleMode, vbPixels)rn mTop = ScaleX(Shape1(i).Top, Me.ScaleMode, vbPixels)rn r = CreateRectRgn(mLeft, mTop, -ScaleX((Shape1(i).Width), Me.ScaleMode, vbPixels) + mLeft, ScaleY((Shape1(i).Height), Me.ScaleMode, vbPixels) + mTop)rn CombineRgn MyRgn, r, MyRgn, RGN_ORrn Nextrn SetWindowRgn hWnd, MyRgn, TruernEnd Subrn'无标题窗口移动rnPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, _rn X As Single, Y As Single)rn If Button = 1 Thenrn '如果按下鼠标左键rn Dim ReturnVal As Longrn X = ReleaseCapture()rn ReturnVal = SendMessage(Form1.hWnd, WM_SYSCOMMAND, _rn SC_MOVE + HTCAPTION, 0)rn End IfrnEnd Subrnrnrn
算法需要占用太大的内存,该怎么办?
在写一个图形学的程序,读入一个三维物体的网格模型,在算法中需要反复用到任意两个顶点之间的最短路径。rnrn目前的想法是在预处理的过程中用Dijkstra或者Floyd算法构造最短路径,然后在算法中直接调用结果就行了,老外的论文中也提到了这样的预处理过程。rnrn问题是:三维模型的数据量很大,往往都有几万甚至上百万的顶点数,如果想把all-pairs的最短路径值都保存下来的话,根本是不可能的!而要在算法中反复调用最短路径算法的话,必然会在很大程度上影响算法的效率!rnrn请教一下,该如何设计整个算法和程序的框架?
c#内存占用一直在上升,怎么办啊~
主要工作是 从ftp下载文件后,将文件的二进制流存放到 数据库中.rnrn主要工作代码rnwhile (run)rn rn DataContext.Refresh(System.Data.Linq.RefreshMode.KeepChanges);rnrn tryrn rn REPORTS001 rp = DataContext.REPORTS001s.OrderByDescending(r=>r.date).FirstOrDefault(r => r.status == 0&&r.format=="pdf");rnrn if (rp == null)rn rn rn html_Message(string.Format("[0:yyyy-MM-dd HH:mm:ss] No Null", DateTime.Now));rn Thread.Sleep(5000);rn rn elsern rn rp.status = 100;rn DataContext.SubmitChanges();rnrn MemoryStream ms = new MemoryStream();rn tryrn rn ms = html.GET(rp.url, rp.GUID);rn byte[] buffer = new byte[ms.Length];rnrn ms.Read(buffer, 0, buffer.Length);rnrn ms.Close();rn ms.Dispose();rnrn if (buffer.Length < 50)rn rn Message(string.Format("[0:HH:mm:ss] 3 Error 1:2 ", DateTime.Now, rp.GUID, "Download Error", DataContext.REPORTS001s.Count(r => r.status == 0)));rnrn rp.status = 404;rn DataContext.SubmitChanges();rn rn continue;rn rnrn rp.filedata = new System.Data.Linq.Binary(buffer);rn rp.status = 1;rn DataContext.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);rn Message(string.Format("[0:HH:mm:ss] 2 1", DateTime.Now, rp.GUID, DataContext.REPORTS001s.Count(r => r.status == 0)));rn buffer = null;rn GC.Collect();rn rnrn catch (System.Data.Linq.ChangeConflictException e)rn rn string log = string.Format("[0:HH:mm:ss] 3 Error 1:2 ", DateTime.Now, rp.GUID, e.Message, DataContext.REPORTS001s.Count(r => r.status == 0));rn Message(log);rnrn rp.filedata = null;rn rp.status = 2;rn DataContext.SubmitChanges();rn continue;rn rn catch (Exception err)rn rn string log = string.Format("[0:HH:mm:ss] 3 Error 1:2 ", DateTime.Now, rp.GUID, err.Message, DataContext.REPORTS001s.Count(r => r.status == 0));rn Message(log);rnrn rp.filedata = null;rn rp.status = 2;rn DataContext.SubmitChanges();rn continue;rn rn rn rn catch rn Thread.Sleep(500);rn rnrn我已经把我能想到的都释放掉了,可以内存还是一个劲的往上涨,怎么解决阿
win xp 突然内存占用变大 怎么办?
我安装了winxp 256mb内存 使用当中 内存使用量突然从160 变成了 400 多rn有个程序 civsc的 属于system的不知道干什么的我结束了 可以稍微好一点,rn使用瑞星 杀毒没有异常 这应该是属于什么问题啊 rn有人说是程序出错写日志rncisvc.exe Indexing Service(system service)!!!rn但是应该作些什么呢?
Rtvscan占用90%的内存该怎么办
我电脑中Rtvscan进程常占用90%以上的内存,并且我也关闭不了Rtvscan进程(显示无法访问),这是为什么?用什么方法解决??谢谢各位!
Linux服务端口被占用怎么办
贴图,服务器的错误日志: 第一步:查看端口是否被占用,netstat -anp | grep 3306 如果是 LISTEN,则表示该端口被占用了,那么恭喜你,问题解决了一半, 第二步:查出这个端口到底被哪个b给占用了,lsof -i : 3306 此时查出来的进程清晰明了, 第三部:杀死这个进程,kill -9 进程ID 第四步:重新启动tomcat ...
服务主机:本地系统占用内存高
打开控制面板,打开管理工具,打开服务,停止Windows Update。 再打开WINDOWS的更新文件夹:C:\WINDOWS\SoftwareDistribution 删除目录下所有的文件。 再重新启动Windows Update。 重启电脑问题解决。
解决oracle服务占用内存过高的问题
通常我们在自己电脑上搭建项目环境时,都免不了要安装Oracle。不管你硬件多强悍,都会发现,Oracle服务一旦启用,内存立马吃紧。笔者内存8G,启动一个VS,启动一个Eclipse,启动一个虚拟机,开一个Tomcat,再开一个PL/SQL,内存基本就耗去了一大半。再启用Oracle服务,内存马上飙升五六百兆,程序便会频繁出现假死。 其实这是因为安装Oracle时,为了均衡电脑性能...
查看占用内存比较大的服务
1、查看占用内存比较大的服务 (1)top 查看占用内存情况,找到对应进程pid (2)ll /proc/15664 |grep cw     ,找出对应服务
怎样查看一个服务占用的CPU和内存?
在资源管理器中,我们可以很方便地看到一个进程的CPU占用率和内存占用空间。但是,我有一个程序,业务部分封装在一个windows 服务中,我想查看这个服务的资源占用情况,该怎么办?
服务器的数据库服务占用内存过大
项目服务器因为特殊原因重装了系统,版本是windows server 2008 R2标准版,安装了数据库以后,32G内存被sqlservr.exe进程使用了近30G,几乎可以说是机器有多大内存就吃满多少内存,只有关闭了SQL代理服务后才正常,原因不明。rn 另外,该机子之前没有开启过防火墙,因为网络管理员不懂没有配置端口,所以墙一直是关闭的,不懂是不是被入侵了,之前有设置过数据库服务的内存大小上限,没有效果,只要打开代理服务就会炸内存,导致远程连接都失败。无法处理,有人知道怎么解决吗?[img=https://img-bbs.csdn.net/upload/201903/12/1552363919_702317.png][/img]
SQL Server2000 服务管理器的内存占用问题
我有一个程序,要用到大量的数据库查询操作,每当程序运行后,任务管理器中显示的SQL Server2000 服务管理器的内存占用都会超过200M,即使程序停止工作后,SQL Server2000 服务管理器占的内存也不会被释放掉,除非把SQL Server2000 服务管理器关掉再重启一次rnrn有没有一个办法可以在不重启SQL Server2000 服务管理器的情况下,也让SQL Server2000 服务管理器将占用的内存释放掉呢?
Oracle 的服务占用内存太大救命
Oracle 服务占用内存太大了,每次启动Oracle 都需要去启动服务,太麻烦,有什么办法可以在我启动Oracle前能自动启动和关闭服务的方法 ,20分奉上
求解某个服务占用的CPU使用率与占用内存值
是想实现如任务管理一样的效果..问题是:如何获取某个服务占用的CPU使用率与占用内存值?
防火墙提示太多,怎么办?
我用的是天网防火墙,它经常提示"是否允许******访问网络"这类的话,有时候一个人玩游戏的时候都因为它而突然退出游戏,怎么办呢?
界面控件太多怎么办?
比如说界面上我摆放了几十个指示灯的image控件,请问对这些控件控制时,如果总是用其ID进行引用比较麻烦,如何简便编程呢,可否将这些控件做成一个数组,调用时只需引用数组就可以了?那是否声明数组时其ID得一一设置?
数据太多,太慢怎么办
我有一个库存表,里面有200多万条数据,现在要做一个简单的程序来检索这个表里面的数据,条件一共有12个条件,对应表中的12个字段,检索太慢,机子跟死机了一样,要加索引吗?怎么加这个索引,把这12个字段都包含进去吗
循环次数太多,怎么办?
我有一个程序,循环次数很多,可能要几百万次,rn for()rn rn forrn rn forrn rn forrn 主程序/////rn rn rn rn有什么好的方法能使它的运算速度变快点么?还有这样的循环好像占内存很大,怎么能限制它对内存的使用?谢谢
~~~~控件太多,怎么办?~~~~~
要做一个应用程序,但是为了某些控件的重用,就把功能模块挤在一起了,控件就在SW_SHOW和SW_HIDE之间换来换去,越到后面,发现编辑的时候覆盖现象很严重,以至于找不着控件了。rn请问,有没有其他的查找控件的方法,比如说,出现一个对话框,点一下控件的ID,然后这个控件就自动被选中了。或者其他的方法,只要能解决这个问题就行rn
一个类方法太多怎么办????
如果一个类中的方法太多,几百个甚至上千个,如果想拆开代码,但是代码中我又想用一个名字调用怎么办?rn比如下面的代码,拆分后a,b,c方法在不同的类中:rnmyClass.a();rnmyClass.b();rnmyClass.c();rnmyClass.a();rn请高手帮忙,谢谢!
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法